@charset "UTF-8";

/*=====================================================
*
*	style.css
*	Since 2020.3.12
*
*
*	1= font
*	2= Reset
*	3= structure
*	4= common module
*	5= header module
*	6= globalNav module
*	7= footer module
*	8= mainVisual module
*	7= home module
*	9= detail module
*	10= form module
*
*
========================================================*/

/*	1= font
-----------------------------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700,900&display=swap&subset=japanese');

@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:300,400,500,600,700&display=swap&subset=japanese');


/*standard size = 14px*/

/* base font size */
*:first-child+html body {
	font-family: "游ゴシック", "Yu Gothic", "メイリオ", 'Meiryo', "ＭＳ Ｐゴシック", sans-serif;
	font-size: 87.5%;
} /* for ie7 */



html>/**/body {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ W3","游ゴシック", "Yu Gothic", "メイリオ", 'Meiryo', "ＭＳ Ｐゴシック", sans-serif;
	font-size: 87.5%;
} /* for ie8 */


html:not(:target) body {
    font-family: 'Roboto', 'Noto Sans JP', "游ゴシック Medium", 'Yu Gothic Medium', 'YuGothic Medium', "メイリオ", 'Meiryo', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
} /* for modern browser */

html>/**/body .wf-mincho { font-family: 'Noto Serif JP', serif; } /* for ie8 */
html:not(:target) body .wf-mincho { font-family: 'Noto Serif JP', serif; } /* for modern browser */

/*	2= Reset
-----------------------------------------------------*/

* { box-sizing: border-box; }
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
margin: 0;
}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal; font-weight:300; }
ul,li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal; font-weight:400; }
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"], input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/*	3= structure
-----------------------------------------------------*/
html { background: #293352; }
body {
	color: #404040;
	background: #f3eeee;
	font-size: 15px;
	line-height: 1.6;
	text-align: center;
}
body.open {
  overflow: hidden;
}
#container {
    position: relative;
    width: 100%;
 /*   overflow-x: hidden;  20230501追記→削除 */
    min-height: 100vh;
	margin: 0;
    padding: 121px 0 140px 0;
}


/* header */
#header {
	top: -100px;
    left: 0px;
	position: absolute;
	width: 100%;
    height: 121px;
	margin-top: 100px;
    border-top: solid 10px #293352;
    border-bottom:  solid 1px #d7d5d5;
	line-height: 1;
	z-index: 999;
    background: #f3eeee;
}

/* Fixed */
#header.fixed {
 	position: fixed;
	margin-top: 0;
	top: 0px;
	height: 81px;
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
}
#header .inner {
    position: relative;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

#main {
	position: relative;
    z-index: 0;
	width: 100%;
    height: 100%;
	padding: 0;
	text-align: left;
}

     body#detail #main .mainInner {
        padding: 35px 0 60px;
    }

        .content {
            position: relative;
            width: 100%;
        }
    
        .content#news {
            margin: 0 auto;
            padding: 30px 0;
         }

        .content#info,
        .content#event,
        .content#case {
            margin: 0 auto;
            padding: 30px 0 40px;
         }
         .content#case { background: #fff; }

        .content#sales { padding: 30px 0 30px;}
        .content#contact {
            padding: 60px 0 70px;
            text-align: center;
        }
        body#detail .content {
            padding: 20px 0 30px;
            background: #fff;
        }


                .content .inner {
                    position: relative;
                    max-width: 1200px;
                    margin: 0 auto;
                    padding: 0 25px;
                }
                .content#sales .inner {
                    padding: 0;
                }
                body#detail .content .inner {}
    
    
/* clearfix */
#main:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0px;
	}
#main { display: inline-block; }



#footer {
    position: absolute;
    left: 0px;
    bottom: 0px;
    z-index: 10003;
    width: 100%;
	height: 140px;
	line-height: 1.2;
	background: #293352;
    color: #fff;
}


@media screen and ( min-width: 1100px) {

        .content .inner,
        .content#news .inner {
            padding-left: 2%;
            padding-right: 2%;
        }
        body#detail .content .inner {
            padding-left: 2%;
            padding-right: 2%;
        }
    
}/*==== // end @media */



@media screen and ( max-width: 1199px) {
        

        .content#info,
        .content#event,
        .content#case {
            margin: 0;
            padding: 40px 0 50px;
         }

        .content#contact {
            padding: 50px 0 70px;
        }
    

}/*==== // end @media */

@media screen and ( max-width: 767px) {
	   
	#container { padding: 80px 0 50px 0; overflow-x: hidden; }
	#header { position: absolute; z-index: 50; height: 80px; }
        
        .content#news {
            margin: 0;
            padding: 30px 0;
        }
            
        .content#info,
        .content#event,
        .content#case {
            margin: 0;
            padding: 30px 0 50px;
        }
        .content#contact {
            padding: 40px 0 50px;
        }
        
        body#detail .content {
            padding: 15px 0 25px;
        }
            
                .content .inner {
                    padding: 0 3.25vw;
                }
                .content#news .inner {
                    padding: 0 3.25vw;
                }
                body#detail .content .inner {
                    padding: 3.25vw;
                }
                body#detail .content .inner {
                    padding: 0 3.25vw;
                }
            
    #footer { height: 50px; }

}/*==== // end @media */
@media screen and ( max-width: 580px) {

     body#detail #main .mainInner {
        padding: 30px 0 50px;
    }

}/*==== // end @media */
@media screen and ( max-width: 480px) {
    
    
     body#detail #main .mainInner {
        padding: 25px 0 40px;
    }
        .content#news {
            margin: 0;
            padding: 30px 0;
        }
            
        .content#info,
        .content#event,
        .content#case {
            margin: 0;
            padding: 30px 0;
        }

        .content#contact {
            padding: 30px 0 45px;
        }
        body#detail .content {
            padding: 10px 0 25px;
        }

}/*==== // end @media */
@media screen and ( max-width: 480px) {
        
        .content#contact {
            padding: 20px 0 45px; }

}/*==== // end @media */

/*	4= common module
-------------------------------------------------------------- */
/*a:hover,
a:hover img,*/
input[type="submit"]:hover,
input[type="reset"]:hover,
button:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
}
a ,a img, input[type="submit"], input[type="reset"] {
	-webkit-transition: opacity .3s, background-color .3s;
	transition: opacity .3s, background-color .3s;
	opacity: 1;
}
img {
	max-width: 100%;
}
a {
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
    color: #13788B;
    cursor: pointer;
}
a:hover { text-decoration: none;}
a img { border: none; }

strong { font-weight: 500; color: #c7000a; }

/* position */
.p-rl { position: relative; }
.p-ab { position: absolute; }

/* float */
.fl {float: left;}
.fr {float: right;}

/* text-align */
.text_l {text-align: left;}
.text_c {text-align: center;}
.text_r {text-align: right;}

/* vertical-align */
.va_t {vertical-align: top;}
.va_b {vertical-align: bottom;}
.va_m {vertical-align: middle;}


/* font */
.f10 {font-size: 10px;}
.f11 {font-size: 11px;}
.f12 {font-size: 12px;}
.f13 {font-size: 13px;}
.f14 {font-size: 14px;}
.f15 {font-size: 15px;}
.f16 {font-size: 16px;}
.f18 {font-size: 18px;}
.f20 {font-size: 20px;}
.bold {font-weight: bold; font-weight: 500; }


/* margin */
.m-auto { margin-left: auto; margin-right: auto; }
.m0 {margin: 0 !important; }
.mb10 {margin-bottom: 10px;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mt35 { margin-top: 35px; }
.ml1em { margin-left: 1em; }
.mr0 { margin-right: 0 !important; }
.mr30 { margin-right: 30px !important; }


/* padding */
.p0 {padding: 0 !important; }
.pb10 {padding-bottom: 10px;}
.pt10 {padding-top: 10px;}
.pl40 { padding-left: 40px; }


/* list-style */
#main .li-non,
#main .li-non li { list-style: none !important; }

ul.li-disc,
ul.li-disc li {
	list-style: disc !important;
}
ul.li-disc li { margin-left: 1em;}
ol.li-dec,
ol.li-dec li {
	list-style:decimal;
}
ol.li-dec li { margin-left: 1em;}

ol.li-dec li ul.li-disc {
	margin-left: 0.5em;
	padding: 0.5em 0;
}
ol.li-dec li ul.li-disc li { line-height: 1.6; }


/* clearfix */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	font-size: 0px;
	}
.clearfix { display: inline-block; }

.hidden { display: none !important; }

/* btn */
input[type="submit"],input[type="reset"] {
	-webkit-appearance: none;
}

/* animation */
@keyframes fade1 {
  0%, 50% {
    opacity: 0;
  }
  90% {
    opacity: 1;
  }
}
@keyframes fade2 {
  0% {
    opacity: 0;
    margin-top: 50px;
  }
  60% {
    opacity: 0;
    margin-top: 12px;
  }
  90% {
    opacity: 1;
    margin-top: 0;
  }
}


.pc {
	display: block;
}
.sp {
	display: none;
}


@media screen and ( min-width: 768px) {


    
}/*==== // end @media */


@media screen and ( max-width: 1000px) {


    
}/*==== // end @media */



@media screen and ( max-width: 680px) {

    .pc {
		display: none;
	}
	.sp {
		display: block;
	}
    
}/*==== // end @media */



@media screen and ( max-width: 480px) {

    #main .pageNav ul li {
        position: relative;
        display: inline-block;
        margin: 0 5px;
    }

}/*==== // end @media */

@media screen and ( max-width: 370px) {
    
    #main .pageNav {
	   margin: 0 0 40px;
    }
    #main .pageNav ul li {
        display: inline-block;
        margin: 0 1px !important;
    }

    
}/*==== // end @media */


/*	5= header module
-----------------------------------------------------*/

h1#siteID {
	position: absolute;
    left: 10px;
    top: -10px;
    width: 305px;
    height: 130px;
    padding: 15px 10px;
    border: solid 1px #353f5e;
	font-size: 25px;
    font-weight: medium;
    font-weight: 500;
	z-index: 50;
    background: #293352;
	background: -webkit-linear-gradient(180deg, #353f5e, #232b47);
	background:    -moz-linear-gradient(180deg, #353f5e, #232b47);
	background:     -ms-linear-gradient(180deg, #353f5e, #232b47);
	background:      -o-linear-gradient(180deg, #353f5e, #232b47);
	background:         linear-gradient(180deg, #353f5e, #232b47);
    -webkit-box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	-moz-box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}
h1#siteID a {
    position: relative;
    display: block;
    width: 100%;
    height: 0px;
    padding-top: 98px;
    line-height: 96px;
    border-top: solid 1px #1c2235;
    border-bottom: solid 1px #71788e;
    overflow: hidden;
    background: url("../images/logo.png") no-repeat;
    background-position: center center;
    -webkit-background-size: 285px 70px;
    background-size: 285px 70px;
	text-decoration: none;
	letter-spacing: 0.16em;
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
}
h1#siteID a::before,
h1#siteID a::after {
    content: "";
    position: absolute;
    left: 0px;
    display: block;
    width: 100%;
    height: 1px;
}
h1#siteID a::before {
    top: 0px;
    background: #71788e;
}
h1#siteID a::after {
    bottom: 0px;
    background: #1c2235;
}
#header.fixed h1#siteID {
    height: 90px;
    padding: 10px 10px;
}
#header.fixed h1#siteID a {
    padding-top: 68px;
    line-height: 68px;
}
@media screen and (max-width : 1199px ) and (min-width : 768px )  {
    
    h1#siteID { width: 25.4vw; }
    h1#siteID a {
        -webkit-background-size: 23.75vw 5.83vw;
        background-size: 23.75vw 5.83vw;
    }

}/*==== // end @media */

@media screen and (max-width : 767px ) {
	
    h1#siteID,
    #header.fixed h1#siteID {
        width: 200px;
        height: 88px;
        padding: 7px 8px;
    }
    h1#siteID a,
    #header.fixed h1#siteID a {
        padding-top: 72px;
        line-height: 70px;
        -webkit-background-size: 180px 44px;
        background-size: 180px 44px;
        text-decoration: none;
        letter-spacing: 0.16em;
    }

}/*==== // end @media */

@media screen and ( max-width: 580px) {



}/*==== // end @media */
@media screen and ( max-width: 480px) {



}/*==== // end @media */
@media screen and (max-width : 370px ) {
    
    
}/*==== // end @media */



/*	6= globalNav module
-----------------------------------------------------*/

@media screen and ( min-width : 768px ){

    #globalNav {
        position: absolute;
        left: 0px;
        top: 0px;
        z-index: 40;
        height: 109px;
        width: 100%;
        padding-left: 305px;

    }


    #globalNav ul {
        padding-left: 2%;
        background: #f3eeee;
        -js-display: flex;
        display: -webkit-box;
        display: -moz-box;
        display : -webkit-box;
        display : -ms-flexbox;
        display: -webkit-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -moz-flex;
        display: flex;
        -webkit-flex-direction:row;
        -ms-flex-direction:row;
        -o-flex-direction:row;
        -moz-flex-direction:row;
        flex-direction:row;
        -webkit-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-align-items: top;
        align-items: top;
        vertical-align: top;
    }
    #globalNav #menu ul ul {
        visibility: hidden;
        position: absolute;
        display: block;
        text-align: center;
        left: 0px;
        top: 110px;
        z-index: 300;
        list-style: none;
        width: 100vw;
        height: 0;
        padding: 20px 20px 15px;
        background: #36405E;
        opacity: 0;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
    #header.fixed #globalNav #menu ul ul {
        top: 70px;
        padding: 15px 20px 10px;
    }
    #globalNav #menu ul li:hover > ul {
        visibility: visible;
        height: auto;
       opacity: 1; 
    }
    #globalNav ul li { flex-grow: 1; width: auto;  }
    #globalNav ul li:nth-child(1) {
        flex-grow: 1;
    }
    #globalNav ul li:nth-child(2) {
        flex-grow: 1.1;
    }
    #globalNav ul li:nth-child(3) {
        flex-grow: 1.8;
    }
    #globalNav ul li:nth-child(4) {
        flex-grow: 1.4;
    }
    #globalNav ul li:nth-child(5) {
        flex-grow: 1.3;
        margin-right: 2%;
    }
    #globalNav ul li:last-child {
        flex-grow: 1.2;
    }
    #globalNav #menu ul ul li { display: inline-block; }
    #globalNav ul li a {
        display: block;
        width: 100%;
        height: 110px;
        text-decoration: none;
        background: none;
        color: #293352;
        font-size: 16px;
        font-weight: normal;
        font-weight: 400;
        line-height: 110px;
        letter-spacing: 0.1em;
        overflow: hidden;
    }
     #globalNav #menu ul ul li a,
     #header.fixed #globalNav #menu ul ul li a {
        width: auto;
        height: 40px;
        line-height: 40px;
        padding: 0 30px;
        border-right: solid 1px #fff;
        color: #fff;
     }

    #globalNav ul li:last-child a {
        letter-spacing: 0.05em;
        background: #293352;
        color: #fff;
    }
    #globalNav #menu ul ul li:last-child a,
    #header.fixed #globalNav #menu ul ul li:last-child a {
        border-right: none;
    }
    #globalNav #menu ul ul li:last-child a {
        background: none;
    }
    #header.fixed #globalNav ul li a {
        height: 70px;
        line-height: 70px;
    }
    #globalNav ul li a span {
        position: relative;
        display: inline;
        padding-bottom: 3px;
    }
     #globalNav ul li a span::after {
        content: "";
        display: block;
        position: absolute;
        left: 50%;
        bottom: 0px;
        width: 0px;
        height: 1px;
        background: #293352;
    }
    #globalNav ul li:hover > a > span::after,
    #globalNav ul li a:hover > span::after {
        left: -1px;
        width: 100%;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
    #globalNav ul li:last-child a:hover span::after,
    #globalNav #menu ul ul li a span::after {
        background:  #fff;
    }
    ul#headerSubNav { display: none; }

    #globalNav div#menu p#close { display: none; }

}/*==== // end @media */
@media screen and ( min-width: 1200px) {
    #globalNav #menu ul ul {
        position: absolute;
        left: calc(( 50vw - 600px ) * -1 );
    }
}/*==== // end @media */
@media screen and ( max-width: 1199px) {
    

    #globalNav {
        padding-left: calc( 25.42vw + 10px );

    }
    #globalNav ul li { width: auto; }
    #globalNav ul li a {
        font-size: 15px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 999px) {
    
    #globalNav ul li a {
        font-size: 14px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 900px) {
    
    #globalNav ul li a {
        letter-spacing:  0px;
        font-size: 13px;
    }
    
}/*==== // end @media */

@media screen and ( max-width: 767px) {
    
    #globalNav ul#headerSubNav {
       display: block;
       position: absolute;
       right: 9px;
       top: 0px;
       z-index: 10011;
       padding: 0;
       background: none;
    }
    

    ul#headerSubNav li { display: inline-block; }
    ul#headerSubNav li a {
        position: relative;
        display: block;
        width: 72px;
        height: 66px;
        padding: 50px 16px 0;
        line-height: 1.1;
        font-size: 10px;  
        text-align: center;
        color: #404040;
        overflow: hidden;
        background: none;
        text-decoration: none;
    }

    ul#headerSubNav li#menuOpen a {
        letter-spacing: 0.1em;
        background: none;
    }
    ul#headerSubNav li#menuOpen a:hover {
        color: #404040;
        background: none;
    }
    ul#headerSubNav li#menuOpen a span {
        position: absolute;
        left: 16px;
        z-index: 10011;
        display: block;
        width: 36px;
        height: 1px;
        background: #404040;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        transition: all 0.3s ease;
    }
    ul#headerSubNav li#menuOpen a span.line1 {
        top: 17px;
    }
    ul#headerSubNav li#menuOpen a span.line2 {
        top: 28px;
        opacity: 1;
    }
    ul#headerSubNav li#menuOpen a span.line3 {
        top: 41px;
    }
    ul#headerSubNav li#menuOpen.open a span {
        background: #404040;
    }
    ul#headerSubNav li#menuOpen.open a span.line1 {
        top: 25px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    ul#headerSubNav li#menuOpen.open a span.line2 {
        top: 25px;
        opacity: 0;
    }
    ul#headerSubNav li#menuOpen.open a span.line3 {
        top: 25px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    #globalNav {
        position: absolute;
        top: 0px;
        left: 0px;
        z-index: 40;
        width: 100vw;
        margin: 0;
    }
    #globalNav div#menu {
        display: none;
        position: absolute;
        top: 0px;
        left: 0px;
        z-index: 40;
        width: 100%;
        height: calc( 100vh - 10px );
        padding: 100px 0 20px;
        background: #f1f1f1;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    

    #globalNav div#menu ul li { position: relative; text-align: left; }
     #globalNav div#menu ul ul {
        margin: 5px 25px;
        padding-bottom: 5px;
        background: #fff;
     }
    #globalNav div#menu ul li a {
        display: block;
        position: relative;
        width: 100%;
        height: 46px;
        line-height: 46px;
        padding-left: 40px;
        padding-right: 40px;
        font-size: 15px;
        color: #1e1e1e;
        text-decoration: none;
    }
    #globalNav div#menu ul ul li a {
        height: 42px;
        font-size: 14px;
    }
    #globalNav div#menu ul li dl {
        background: rgba(255,255,255,0.60);
        width: calc( 100% - 30px );
        margin: 0 20px 0 15px;
    }
    #globalNav div#menu ul li dl dt {
        padding-left: 20px;
        font-size: 12px;
        color: #d12a6e;
        font-weight: 400;
    }
    #globalNav div#menu ul li dl ul li a {
        display: block;
        height: auto;
        width: 100%;
        padding: 7px 20px 4px 40px;
        border-bottom: none;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.4;
        vertical-align: text-bottom;
    }
    #globalNav div#menu ul li dl ul li a span {
        display: inline-block;
        max-width: 19em;
        margin-bottom: 8px;
        margin-right: 16px;
        font-size: 12px;
        font-weight: 300;
        vertical-align: text-top;
    }
    #globalNav div#menu ul li dl ul li a span br { display: none;}
    

    #globalNav div#menu p#close { text-align: center; }
    #globalNav div#menu p#close a {
        display: block;
        position: relative;
        width: 100%;
        height: 43px;
        line-height: 43px;
        overflow: hidden;
        background:#D5D4D4;
        font-size: 14px;
        color: #1e1e1e;
        text-decoration: none;

    }
    #globalNav div#menu p#close a::before {
       content:"";
       display: inline-block;
       width: 12px;
       height: 12px;
       margin-right: 1em;
       font-size: 12px;
       line-height: 12px;
       background: url(../images/icon_close@2x.png) no-repeat center top;
        -webkit-background-size: 12px 12px;
        -moz-background-size: 12px 12px;
        text-decoration: none;
    }
	
}/*==== // end @media */

@media screen and ( max-width: 680px) {
    


}/*==== // end @media */

@media screen and ( max-height: 500px) {

    #globalNav div#menu　{
        height: 100%;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

}/*==== // end @media */

@media screen and ( max-width: 480px) {
    
    #globalNav div#menu ul li dl dt {
        padding-left: 10px;
    }
    #globalNav div#menu ul li dl ul li a {
        padding: 7px 0px 4px 10px;
        font-size: 13px;
    }
    #globalNav div#menu ul li dl ul li a span {
        max-width: 23em;
        margin-right: 12px;
    }
    
}/*==== // end @media */

@media screen and ( max-width: 400px) {
    
    #globalNav ul#headerSubNav {
       right: 0px;
       top: 3px;
    }
    ul#headerSubNav li a {
        width: 64px;
        height: 62px;
        padding: 51px 12px 0 12px;
    }
    ul#headerSubNav li#menuOpen a span {
        position: absolute;
        left: 14px;
        width: 34px;
    }
    #globalNav div#menu {
        padding: 100px 0 60px;
    }
    #globalNav div#menu ul li dl ul li a { vertical-align: top; }
    #globalNav div#menu ul li dl ul li a span {
        max-width: 19em;
        margin-right: 12px;
        vertical-align: top;
    }

    
}/*==== // end @media */

@media screen and ( max-width: 370px) {
    
    #globalNav div#menu ul li dl ul li a span {
        display: block;
        max-width: 19em;
        margin-right: 12px;
        margin-bottom: 3px;
    }
    #globalNav div#menu ul li dl ul li a { line-height: 1; padding-bottom: 6px; }
     #globalNav div#menu ul li a {
        height: 36px;
        padding-left: 25px;
        line-height: 36px;
        font-size: 14px;
    }
    #globalNav div#menu ul li dl dt {
        padding-left: 6px 10px;
    }
    
}/*==== // end @media */


/*	7= home module
-----------------------------------------------------*/
.content h2 {
    margin-bottom: 1em;
    margin-left: 0.5em;
    font-size: 30px;
    font-weight: 500;
    letter-spacing: 0.2em;
}
.content#sales h2 {
    padding-left: 25px;
}
.content h2 .en {
    display: inline-block;
    margin-left: 1.5em;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.15em;
}
/* contact module */
.content#contact p.desc {
    margin-bottom: 20px;
    font-size: 30px;
    letter-spacing: 0.1em;
}
.contactBtn {
    position: relative;
    display: block;
    margin: 20px auto 30px;
    width: 900px;
    max-width: 80vw;
    height: 75px;
    border-radius: 10px;
    line-height: 75px;
    font-size: 23px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.3em;
    padding-left: 0.5em;
    border: solid 1px #3d455e;
    text-align: center;
    text-decoration: none;
    background: #293352;
	background: -webkit-linear-gradient(170deg, #353f5e, #232b47);
	background:    -moz-linear-gradient(180deg, #353f5e, #232b47);
	background:     -ms-linear-gradient(180deg, #353f5e, #232b47);
	background:      -o-linear-gradient(180deg, #353f5e, #232b47);
	background:         linear-gradient(180deg, #353f5e, #232b47);
    -webkit-box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	-moz-box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}
.contactBtn:hover {
    background: #313a57;
	background: -webkit-linear-gradient(180deg, #495476, #313a57);
	background:    -moz-linear-gradient(180deg, #495476, #313a57);
	background:     -ms-linear-gradient(180deg, #495476, #313a57);
	background:      -o-linear-gradient(180deg, #495476, #313a57);
	background:         linear-gradient(180deg, #495476, #313a57);
}
.contactBtn:after {
    content: "";
    position: absolute;
    left: calc( 57% + 5em );
    top: 0px;
    display: block;
    width: 123px;
    height: 100%;
    background: url("../images/icon_mail_L.png") no-repeat center top;
    -webkit-background-size: contain;
    background-size: contain;
    opacity: 0.3;
}
.contactBtn:hover:after {
    opacity: 0.8;
}

/* contentLink module */
.contentLink {
    margin-bottom: 15px;
}
.contentLink .inner {
    width: 100%;
    padding: 16px 0px;
    background: #d5dee3;
}
.contentLink .inner ul.tile_frame {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1%;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.contentLink .inner ul.tile_frame li {
    width: 49.5%;
    text-align: center;
}
.contentLink .inner ul.tile_frame li a,
#program > h3,
#produce > h3 {
    position: relative;
    display: block;
    width: 100%;
    height: 75px;
    padding-left: 3em;
    line-height: 75px;
    border-radius: 10px;
    font-size: 23px; 
    color: #fff;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: 0.15em;
    background: #2782c2;
    background: -webkit-linear-gradient(180deg, #3B92CF, #2782c2);
	background:    -moz-linear-gradient(180deg, #3B92CF, #2782c2);
	background:     -ms-linear-gradient(180deg, #3B92CF, #2782c2);
	background:      -o-linear-gradient(180deg, #3B92CF, #2782c2);
	background:         linear-gradient(180deg, #3B92CF, #2782c2);
    -webkit-box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	-moz-box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}
#program > h3,
#produce > h3 {
    width: calc( 100% - 2.3% );
    height: 62px;
    margin-bottom: 1.8em;
    padding-left: 6em;
    line-height: 62px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}
.contentLink .inner ul.tile_frame li:last-child a,
#produce > h3 {
    background: #39b34d;
    background: -webkit-linear-gradient(180deg, #49C15C, #39b34d);
	background:    -moz-linear-gradient(180deg, #49C15C, #39b34d);
	background:     -ms-linear-gradient(180deg, #49C15C, #39b34d);
	background:      -o-linear-gradient(180deg, #49C15C, #39b34d);
	background:         linear-gradient(180deg, #49C15C, #39b34d);
}
.contentLink .inner ul.tile_frame li a:hover {
    opacity: 0.85;
}
.contentLink .inner ul.tile_frame li a:before,
#program > h3:before,
#produce > h3:before {
    content: "";
    position: absolute;
    left: 8%;
    top: 0px;
    display: block;
    width: 75px;
    height: 100%;
    background: url("../images/icon_arrow_L.png") no-repeat left top;
    -webkit-background-size: contain;
    background-size: contain;
    opacity: 0.3;
}
#program > h3:before,
#produce > h3:before {
    left: 40px;
}
.contentLink .inner ul.tile_frame li a::after {
    content: "▼";
    color: #2782C2;
    position: absolute;
    left: calc( 50% - 20px );
    bottom: -26px;
    font-size: 30px;
    line-height: 30px;
    vertical-align: top;
    -webkit-text-shadow: 1px 2px 3px rgba(0,0,0,0.2);
    -moz-text-shadow: 1px 2px 3px rgba(0,0,0,0.2);
    text-shadow: 1px 2px 3px rgba(0,0,0,0.2);
}
.contentLink .inner ul.tile_frame li:last-child a::after {
    color: #39b34d;
}
.contentLink .inner ul.tile_frame li a strong,
#program > h3 strong,
#produce > h3 strong {
    display: inline-block;
    margin-right: 0.1em;
    font-size: 130%;
    color: #fff;
}

/* news module */
.content#news dl {
    width: 100%;
    max-height: 19em;
    min-height: 7.5em;
    padding: 1.5em 6%;
    background: #fff;
    overflow: auto;
    font-size: 16px;
}

#news dl dt {
    margin-left: -0.5em;
    padding: 0.45em 0.5em 0.55em;
    letter-spacing: 0.1em;
}
#news dl dd {
    margin:  -2.55em -0.5em 0 -0.5em;
    padding: 0.45em 0.5em 0.55em 9em;
    letter-spacing:  0.1em;
}
#news dl dt.keep,
#news dl dd.keep {
    background: #FFE6F1;
}
#news dl dd.keep { font-weight: 500; }
#news dl dd.keep + :not(.keep) {
    margin-top: 0.6em;
}

#news dl dd:last-child { margin-bottom: 0;}


#news dl dd a { text-decoration: none; }
#news dl dd a:hover{ text-decoration: underline; }

/* content module */
.tile_frame {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    -js-display: flex;
    display: -webkit-box;
    display: -moz-box;
    display : -webkit-box;
    display : -ms-flexbox;
    display: -webkit-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -moz-flex;
    display: flex;
    -webkit-flex-direction:row;
    -ms-flex-direction:row;
    -o-flex-direction:row;
    -moz-flex-direction:row;
    flex-direction:row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: top;
    align-items: top;
    vertical-align: top;
    justify-content: space-between;
}
.content#event .tile_frame,
#produce .tile_frame {
    width: 103%;
    margin-right: -3%; 
}
#program .tile_frame {
    padding: 0 25px 10px;
}
#produce .tile_frame {
    padding: 0 25px 40px;
}
@media screen and ( min-width: 1190px) {

    #produce .tile_frame {
        padding: 0 25px 40px 10px;
    }
    
}/*==== // end @media */

div.tile_frame .box,
.content#event div.tile_frame .box,
#produce div.tile_frame .box {
    position: relative;
    z-index: 0;
    width: 19.2%;
    margin-bottom: 35px;
    margin-right: 0.8%;
    background: #fff;
}
#program div.tile_frame .box {
    margin-bottom: 60px;
    background: none;
}
div.tile_frame .box:last-child,
.content#event div.tile_frame .box:last-child,
#produce div.tile_frame .box:last-child {
    margin-right: auto;
}
.content#event div.tile_frame .box,
 #produce div.tile_frame .box {
    width: 21.9%;
    margin-right: 3%;
}

div.tile_frame .box,
div.tile_frame .box img {
    border-radius: 3px;
}


div.tile_frame .box dt {
    position: relative;
    width: 100%;
    height: auto;
    text-align: center;
    background: #fff;
}

div.tile_frame .box dt img {
    max-width: 100%;
    max-height: 200px;
    border: solid 1px #ddd;
    background: #fff;
}
/*#info div.tile_frame .box:nth-child(4n+1) dt img {
    background: #2BA2CE;
}
#info div.tile_frame .box:nth-child(4n+2) dt img {
    background: #9E7BBE;
}
#info div.tile_frame .box:nth-child(4n+3) dt img {
    background: #42BAAB;
}
#info div.tile_frame .box:nth-child(4n+4) dt img {
    background:#CEB000;
}*/
#info div.tile_frame .box dt img {
    background:#CEB000;
}

div.tile_frame .box dt .label img {
    margin-bottom: 2px;
    border: none;
}
.content#info div.tile_frame .box::before,
.content#event div.tile_frame .box::before,
 #produce div.tile_frame .box::before {
    content: "";
    position: absolute;
    left: center;
    bottom: -20px;
    z-index: 0;
    display: block;
    width: 100%;
    height: 20px;
    background: url("../images/shadow.png") no-repeat center -15px;
    -webkit-background-size: 95%;
    background-size: 95%;
    opacity: 0.2;
}
div.tile_frame .box dd {
    padding: 13px 10px 13px;
}
#program  div.tile_frame .box dd {
    padding: 8px 8px 10px;
}
div.tile_frame .box dd h3 {
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    letter-spacing: 0.05em;
    line-height: 1.35;
}
#program div.tile_frame .box dd h5 {
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    letter-spacing: 0.05em;
    line-height: 1.35;
}
 div.tile_frame .box dd p {
    margin-bottom: 0.6em;
    line-height: 1.4;
    font-size: 12px;
 }
div.tile_frame .box dd h3 + p {
    margin-top: 0.8em;
  }
  #program div.tile_frame .box dd h5 + p {
    margin-top: 0.8em;
    margin-bottom: 0;
    font-size: 12px;
  }
#main div.tile_frame .box dd a.btn1,
#main  div.tile_frame .box dd a.btn2 {
    position: relative;
    z-index: 10 !important;
    display: inline-block;
    margin-top: 0.6em;
    margin-bottom: 0.5em;
    line-height: 1.1;
    padding: 6px 4px 5px;
    border-radius: 2px;
    color: #fff;
    font-size: 13px;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
}

#main div.tile_frame .box dd a.btn1:hover,
#main  div.tile_frame .box dd a.btn2:hover {
    background-color: #293352;
    color: #fff;
}
#main div.tile_frame .box dd a.btn1 {
    float: left;
    width: calc( 100% - 9.1em );
}
#main  div.tile_frame .box dd a.btn2 {
    float: right;
    width: 8.9em;
}
@media screen and ( max-width: 1150px) {
    #main div.tile_frame .box dd a.btn1,
    #main div.tile_frame .box dd a.btn2 {
        padding: 6px 3px 5px;
        font-size: 12px;
        letter-spacing: 0px;
    }
    #main div.tile_frame .box dd a.btn1 {
        
    }
    #main  div.tile_frame .box dd a.btn2 {
        
    }
}/*==== // end @media */

@media screen and ( max-width: 1050px) {
    #main div.tile_frame .box dd a.btn1 {
        width: calc( 100% - 8.7em );
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 8.5em;
    }
}/*==== // end @media */
@media screen and ( max-width: 999px) {
    #main div.tile_frame .box dd a.btn1 {
        width: calc( 100% - 10em );
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 9.8em;
    }
}/*==== // end @media */
@media screen and ( max-width: 950px) {
    #main div.tile_frame .box dd a.btn1 {
        width: calc( 100% - 9.6em );
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 9.4em;
    }
}/*==== // end @media */
@media screen and ( max-width: 900px) {
    #main div.tile_frame .box dd a.btn1 {
        width: calc( 100% - 9.2em );
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 9.0em;
    }
}/*==== // end @media */
@media screen and ( max-width: 860px) {
    #main div.tile_frame .box dd a.btn1 {
        width: calc( 100% - 7.7em );
        margin-left: -0.6em;
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 8.8em;
        margin-right: -0.6em;
    }
}/*==== // end @media */

@media screen and ( max-width: 780px) {
    #main div.tile_frame .box dd a.btn1 {
        width: calc( 100% - 7em );
        margin-left: -0.9em;
        font-size: 11px;
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 8.7em;
        margin-right: -0.9em;
        font-size: 11px;
    }
}/*==== // end @media */
@media screen and ( max-width: 700px) {
    #main div.tile_frame .box dd a.btn1 {
        width: calc( 100% - 6.80em );
        margin-left: -1em;
        letter-spacing: -0.02em;
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 8.6em;
        letter-spacing: -0.02em;
    }
}/*==== // end @media */
@media screen and ( max-width: 680px) {
    #main div.tile_frame .box dd a.btn1 {
        width: calc( 100% - 7.1em );
        font-size: 12px;
        letter-spacing: 0em;
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 8.8em;
        font-size: 12px;
        letter-spacing: 0em;
    }
}/*==== // end @media */
@media screen and ( max-width: 580px) {
    #main div.tile_frame .box dd a.btn1 {
        font-size: 11px;
    }
    #main  div.tile_frame .box dd a.btn2 {
        font-size: 11px;
    }
}/*==== // end @media */
@media screen and ( max-width: 540px) {
    #main div.tile_frame .box dd a.btn1 {
        width: 100%;
        margin-left: 0;
        margin-bottom: 0.2em;
        font-size: 12px;
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 100%;
        margin-top: 0.2em;
        margin-right: 0;
        font-size: 12px;
    }
}/*==== // end @media */
@media screen and ( max-width: 480px) {
    #main div.tile_frame .box dd a.btn1 {
        width: calc( 100% - 8.3em );
        margin-left: -0.5em;
        margin-bottom: 0.5em;
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 9.2em;
        margin-top: 0.6em;
        margin-right: -0.5em;
    }
}/*==== // end @media */
@media screen and ( max-width: 440px) {
    #main div.tile_frame .box dd a.btn1 {
        font-size: 11px;
    }
    #main  div.tile_frame .box dd a.btn2 {
        font-size: 11px;
    }
}/*==== // end @media */
@media screen and ( max-width: 400px) {
    #main div.tile_frame .box dd a.btn1 {
        width: calc( 100% - 7.8em );
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 8.7em;
    }
}/*==== // end @media */
@media screen and ( max-width: 370px) {
    #main div.tile_frame .box dd a.btn1 {
        width: 100%;
        margin-left: 0;
        margin-bottom: 0.2em;
        font-size: 12px;
    }
    #main  div.tile_frame .box dd a.btn2 {
        width: 100%;
        margin-top: 0.2em;
        margin-right: 0;
        font-size: 12px;
    }
}/*==== // end @media */
.content#info div.tile_frame .box dd > a:last-child,
.content#event div.tile_frame .box dd > a:last-child,
#produce div.tile_frame .box dd > a:last-child {
    position: absolute;
    left: 0px;
    top: 0px;
    z-index: 2;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border: solid 8px #5EB0BE;
    line-height: 50em;
    overflow: hidden;
    background: #fff;
    border-radius: 3px;
    opacity: 0;
}
.content#case div.tile_frame .box dd > a:last-child,
#program div.tile_frame .box dd > a:last-child {
    position: absolute;
    left: 0px;
    top: 0px;
    z-index:2;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    line-height: 50em;
    overflow: hidden;
    /*background: #82CAD6;*/
    background: #fff;
    border-radius: 3px;
    opacity: 0;
}
.content#info div.tile_frame .box dd > a:last-child:hover,
.content#event div.tile_frame .box dd > a:last-child:hover,
#program div.tile_frame .box dd > a:last-child:hover,
#produce div.tile_frame .box dd > a:last-child:hover,
.content#case div.tile_frame .box dd > a:last-child:hover {
    opacity: 0.2;
}
.content#case div.tile_frame .box dd:hover h3,
#program div.tile_frame .box dd:hover h5 {
    color: #13788B;
}


/* sales module */
.labelList {
    position: relative;
    width: 95%;
    margin: 0 auto 10px;
    padding: 10px 0 5px 20px;
    background: #fff;
    border: solid 1px #002e73;
}
.label {
    position: absolute;
    left: 0px;
    top: -27px;
    text-align: left;
    width: 120%;
    padding-bottom: 2px;
}
.mainInner .label {
    position: relative;
    top:0px;
    width: auto;
    margin-left: auto;
    padding-left: 15px;
    
}
.labelList ul li {
    display: inline-block;
    min-width: 112px;
    margin-right: 1em;
    margin-bottom: 5px;
    vertical-align: middle;
    font-size: 12px;
}
.labelList ul li img {
    width: 35px;
    height: auto;
    margin-right: 2px;
    vertical-align: middle;
}
.label img {
    width: 35px;
    max-width: 15% !important;
    height: auto;
    margin-right: 2px;
}
.mainInner .label img {
    width: 44px;
    max-width: 44px !important;
    margin-right: 3px;
    margin-top: 3px
}

#program {
    border-left: solid 12px #1f7abe;
    background: #d9e9f6;
}
#produce {
    border-left: solid 12px #39b34d;
    background: #d9f3dd;
}
#time-regular {
    padding: 17px 0 0;
}
#time-special {
    padding: 17px 0 0;
    background: #f9f7f7;
}
#spot {
    padding: 17px 0 0;
    background: #f7e0c6;
}

#program h4,
#produce h4 {
    position: relative;
    display: inline-block;
    height: 43px;
    line-height: 41px;
    margin-left: 1em;
    margin-bottom: 1.5em;
    padding-left: 2.2em;
    padding-right: 2em;
    border-radius: 22px;
    font-size: 23px;
    font-weight: 500;
    background: #fff;
}
#program h4 {
    margin-bottom: 50px;
}
#program #time-regular h4,
#program #time-special h4 {
    border: solid 2px #1f7abe;
    color: #1f7abe;
}
#program #spot h4 {
    border: solid 2px #ec6941;
    color: #ec6941;
}
#produce h4 {
    border: solid 2px #39b34d;
    color: #39b34d;
}
#program h4::before,
#produce h4::before {
    content:"";
    position: absolute;
    left: -1.2em;
    top: calc( 50% - 2px );
    display: block;
    width: 2.5em;
    height: 4px;
    border-radius: 2px;
}
#program #time-regular h4::before,
#program #time-special h4::before {
    background: #1f7abe;
}
#program #spot h4::before {
    background: #ec6941;
}
#produce h4::before {
    background: #39b34d;
}

@media screen and ( max-width: 1199px) {

    
/* content module */
    div.tile_frame {
        position: relative;
        width: 101%;
        margin-right: -1%;
    }
    

}/*==== // end @media */
@media screen and ( max-width: 1099px) {

    div.tile_frame .box dd h3 {
        font-size: 14px;
    }
    div.tile_frame .box dt img {
        max-height: 18.1818vw;
    }
     
}/*==== // end @media */

@media screen and ( max-width: 999px) {

 /* news module */
    .content#news dl {
        font-size: 15px;
    }
 /* contact module */
    .contactBtn {
        height: 65px;
        border-radius: 8px;
        line-height: 65px;
        font-size: 20px;
    }
 /* contentLink module */
    .contentLink .inner ul.tile_frame li a {
        height: 65px;
        line-height: 65px;
        letter-spacing: 0.1em;
        font-size: 20px;
    }

 /* content module */ 
    .content#event div.tile_frame,
     #produce div.tile_frame {
        width: 101%;
        margin-right: -1%;
    }
    div.tile_frame .box {
        width: 24%;
        margin-bottom: 30px;
    }
    .content#event div.tile_frame .box,
     #produce div.tile_frame .box {
        width: 24%;
        margin-bottom: 30px;
        margin-right: 1%;
    }
    #program div.tile_frame .box {
        margin-bottom: 50px;
    }

/* sales module */ 
    #program > h3,
    #produce > h3 {
        height: 52px;
        border-right-top-radius: 6px;
        border-right-bottom-radius: 6px;
        line-height: 50px;
        font-size: 20px; 
    }
    
    .mainInner .label img {
        width: 40px;
    } 
    
}/*==== // end @media */

@media screen and ( max-width: 900px) {
    
    .content h2 {
        font-size: 26px;
    }
    
 /* contact module */
    .content#contact p.desc {
        font-size: 26px;
    }
/* contentLink module */
    .contentLink .inner ul.tile_frame li a {
        padding-left: 2em;
        letter-spacing: 0.05em;
        font-size: 20px;
    }
    .contentLink .inner ul.tile_frame li a::before {
        left: 5%;
    }
/* content module */
    div.tile_frame .box,
    .content#event div.tile_frame .box,
    #produce div.tile_frame .box {
        margin-bottom: 25px;
    }
    div.tile_frame .box dd {
        padding-bottom: 10px;
    }
    div.tile_frame .box dd h3 {
        font-size: 14px;
    }
    div.tile_frame .box dd p {
        font-size: 12px;
    }

    
}/*==== // end @media */

@media screen and ( max-width: 767px) {
    
    .content h2 {
        font-size: 22px;
    }
    
    .content#sales h2 {
        padding-left: 3.25vw;
    }
 /* contact module */
    .content#contact p.desc {
        font-size: 22px;
    }
    .content#contact .contactBtn {
        margin-top: 15px;
    }
/* contentLink module */
    .contentLink .inner ul.tile_frame li a {
        padding-left: 1.5em;
        font-size: 18px;
    }
    .contentLink .inner ul.tile_frame li a::after {
        left: calc( 50% - 12px );
        bottom: -20px;
        font-size: 24px;
        line-height: 24px;
    }

     
/* news module */
    p.btn-detail {
        right: 0px;
        top: 0px;
    }
    #newbooks p.btn-detail,
    #bookDetail p.btn-detail {
        right: -15px;
        top: -20px;
    }
    p.btn-hanmoto {
        position: relative;
        margin-top: 40px;
        margin-left: -10px;
        margin-right: -10px;
        right: 0px;
        width: calc( 100% + 20px );
    }

 /* content module */ 
    #program .tile_frame {
        padding: 0 3.25vw;
    }
    #produce .tile_frame {
        padding: 0 3.25vw 30px;
    }
    #program div.tile_frame .box {
        margin-bottom: 40px;
    }
    div.tile_frame .box dd { padding-bottom: 12px; }
    div.tile_frame .box dd h3 {
        font-size: 14px;
        letter-spacing: 0.05em;
    }
    div.tile_frame .box dd p {
        font-size: 12px;
     }
    div.tile_frame .box dd h3 + p {
        margin-top: 0.6em;
    }
/* sales module */
    .mainInner .label img {
        width: 38px;
    } 
    
}/*==== // end @media */

@media screen and ( max-width: 680px) {
  
/* contact module */
    .content#contact p.desc {
        font-size: 20px;
    }
    .contactBtn {
        max-width: 90vw;
        height: 50px;
        margin: 30px auto 15px;
        border-radius: 6px;
        line-height: 50px;
        font-size: 20px;
    }
    .contactBtn:after {
        left: calc( 55% + 3em );
    }
/* contentLink module */
    .contentLink .inner ul.tile_frame {
        padding: 0 2%;
    }
    .contentLink .inner ul.tile_frame li a {
        height: 56px;
        line-height: 56px;
        padding-left: 1em;
        font-size: 16px;
    }

/* content module */
    div.tile_frame,
    .content#event div.tile_frame,
        #produce div.tile_frame {
        width: 100.5%;
        margin-right: -1.5%;
    }
    div.tile_frame .box,
    .content#event div.tile_frame .box,
    #produce div.tile_frame .box {
        width: 31.7%;
        margin-right: 1.5%;
    }
    div.tile_frame .box dt img {
        max-height: 25vw;
    }

    #program h4,
    #produce h4 {
        height: 38px;
        line-height: 36px;
        border-radius: 18px;
        font-size: 20px;
    }
    #program h4::before,
    #produce h4::before {
        top: calc( 50% - 1.5px );
        height: 3px;
        border-radius: 1.5px;
    }
    
}/*==== // end @media */

@media screen and ( max-width: 580px) {
    
    .content h2 {
        letter-spacing: 0.1em;
    }
    .content h2 .en {
        font-size: 12px;
        letter-spacing: 0.05em;
    }
    
 /* news module */
    .content#news dl {
        font-size: 14px;
    }
    
 /* contentLink module */
    .contentLink .inner ul.tile_frame li {
        width: 44.5%;
    
    }
    .contentLink .inner ul.tile_frame li:last-child {
        width: 54%;
    }
    .contentLink .inner ul.tile_frame li a {
        height: 50px;
        line-height: 50px;
        font-size: 15px;
        letter-spacing: 0px;
    }
    
/* content module */ 
    div.tile_frame .box,
    .content#event div.tile_frame .box,
    #produce div.tile_frame .box {
        margin-bottom: 20px;
    }

/* sales module */
    .labelList {
        margin: 0 auto 8px;
        padding: 10px 0 5px 15px;
    }
    .label {
        top: -22px;
    }
    .labelList ul li {
        min-width: 105px;
        font-size: 11px;
    }
    .labelList ul li img,
    .label img {
        width: 30px;
    }
    .mainInner .label img {
        width: 34px;
    } 
    #program > h3,
    #produce > h3 {
        height: 46px;
        margin-bottom: 1.5em;
        border-right-top-radius: 5px;
        border-right-bottom-radius: 5px;
        line-height: 44px;
        font-size: 18px; 
    }
    #program > h3:before,
    #produce > h3:before {
        left: 35px;
    }
    #program div.tile_frame .box dd h5 {
        font-size: 13px;
    }
      #program div.tile_frame .box dd h5 + p {
        font-size: 12px;
      }
    

}/*==== // end @media */

@media screen and ( max-width: 480px) {
 
    .content h2 {
        font-size: 22px;
    }
    .content#sales h2 {
        font-size: 20px;
        letter-spacing: 0px;
        padding-left: 2.8vw;
    }
    
 /* news module */
    .content#news dl {
        max-height: 22em;
    }
 /* contact module */
    .content#contact p.desc {
        margin-bottom: 15px;
        font-size: 18px;
        letter-spacing: 0.05em;
    }

    .contactBtn {
        max-width: 90vw;
        height: 46px;
        margin-top: 30px;
        padding-right: 1.5em;
        border-radius: 6px;
        line-height: 46px;
        font-size: 18px;
    }
    .contactBtn:after {
        left: calc( 50% + 3em );
    }
/* contentLink module */
    .contentLink .inner {
        padding: 12px 0px;
    }
    .contentLink .inner ul.tile_frame li a {
        padding-left: 0.5em;
        font-size: 14px;
    }
    .contentLink .inner ul.tile_frame li a::after {
        left: calc( 50% - 10px );
        bottom: -16px;
        font-size: 20px;
        line-height: 20px;
    }

/* news module */

    #news dl dt {
        margin-left: -0.7em;
        margin-right: -0.7em;
        padding: 0.5em 0.7em 0.1em;
        font-size: 14px;
        letter-spacing: 0.05em;
    }
    #news dl dd {
        margin:  0 -0.7em 0 -0.7em;
        padding: 0.2em 0.7em 1em 0.7em;
        letter-spacing: 0.05em;
        font-size: 14px;
    }

/* content module */ 
    div.tile_frame,
    .content#event div.tile_frame,
    #produce div.tile_frame {
            width: 102%;
            margin-right: -2%;
    }
    #sales div.tile_frame {
        padding-bottom: 20px;
    }
    
    div.tile_frame .box,
    .content#event div.tile_frame .box,
    #produce div.tile_frame .box {
        width: 47.9%;
        margin-right: 2%;
    }
    #program div.tile_frame .box {
        margin-bottom: 35px;
    }
    div.tile_frame .box dt img {
        max-height: 36vw;
    }
    div.tile_frame .box dd {
        padding-bottom: 12px;
    }
    #program  div.tile_frame .box dd {
        padding: 8px 6px 8px;
    }
    div.tile_frame .box dd h3 {
        font-size: 14px;
        letter-spacing: 0em;
    }
    div.tile_frame .box dd p {
        font-size: 12px;
    }
/* sales module */ 
    #program > h3,
    #produce > h3 {
        height: 40px;
        padding-left: 3.5em;
        border-right-top-radius: 4px;
        border-right-bottom-radius: 4px;
        line-height: 40px;
        font-size: 18px; 
    }
    #program > h3:before,
    #produce > h3:before {
        left: 10px;
    }
    #program h4,
    #produce h4 {
        height: 34px;
        padding-left: 1.7em;
        padding-right: 1.5em;
        line-height: 32px;
        border-radius: 16px;
        font-size: 18px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 400px) {
    
    .content h2 {
        font-size: 20px;
    }
    .content#event h2 {
        font-size: 18px;
        letter-spacing: -0.05em;
    }
    .content#sales h2 {
        font-size: 18px;
        padding-left: 2.5vw;
    }
    .content#event h2 .en,
    .content#sales h2 .en {
        font-size: 11px;
    }

/* contentLink module */
    .contentLink .inner ul.tile_frame {
        padding: 0 1%;
    }
    #program div.tile_frame .box {
        margin-bottom: 30px;
    }
    
 /* contact module */
    .content#contact p.desc {
        font-size: 16px;
    }
 /* contentLink module */
    .contentLink .inner ul.tile_frame li a {
        padding-left: 0em;
        font-size: 13px;
        letter-spacing: -0.05em;
    }
/* sales module */
    #program > h3,
    #produce > h3 {
        padding-left: 2em;
        letter-spacing: 0px;
    }
    #program h4,
    #produce h4 {
        letter-spacing: 0px;
        font-size: 16px;
    }
    #program div.tile_frame .box dd h5 {
        font-size: 13px;
    }
    #program div.tile_frame .box dd h5 + p {
        font-size: 11px;
    }
    .label {
        top: -21px;
    }
    .labelList ul li {
        min-width: 100px;
        margin-right: 0.5em;
    }
    .labelList ul li img,
    .label img {
        width: 28px;
    }
    #program > h3,
    #produce > h3 {
        letter-spacing: 0.05em;
    }
    #program > h3
    
}/*==== // end @media */
 

@media screen and ( max-width: 370px) {
    .content h2 {
        font-size: 18px;
    }
    .content#event h2 {
        font-size: 15px;
    }
    .content#sales h2 {
        font-size: 15px;
    }
}/*==== // end @media */


/*	7= footer module
-----------------------------------------------------*/

#footer ul.footerNav {
    position: relative;
    height: 90px;
    line-height: 80px;
    background: #3d4561;
    font-size: 16px;
}
#footer ul.footerNav li {
    display:  inline-block;
    letter-spacing: 0.1em;
}
#footer ul.footerNav li:last-child {
    margin-left: 2em;
}
#footer ul.footerNav li::before {
    content: "／";
}
#footer ul.footerNav li:first-child::before,
#footer ul.footerNav li:last-child::before {
    content: none;
}
#footer ul.footerNav a {
    display: inline-block;
    padding: 5px 1em;
    color: #fff;
    text-decoration: none;
}
#footer ul.footerNav a:hover {
    text-decoration: underline;
}
#footer #copyright {
    height: 50px;
    line-height: 50px;
    text-align: center;
    letter-spacing: 0.08em;
}
#footer #copyright small {}

p#gotop {
	position: fixed;
	z-index: 41;
	bottom: 0px;
    right: 10px;
	width: 50px;
	height: 50px;
    margin-bottom: 0;
    background: rgba(0,0,0,0.4);
    border-radius: 6px;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

p#gotop a {
	display: block;
    box-sizing: border-box;
	position: absolute;
	z-index: 502;
	right: 5px;
	width: 50px;
	height: 0px;
    padding-top: 50px;
    line-height: 50px;
    color: #fff;
    overflow: hidden;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
p#gotop a::after {
	content: "↑";
	display: block;
	position: absolute;
	right: 0px;
	bottom: 10px;
    z-index: 501;
    width: 50px;
	height: 50px;
    line-height: 40px;
    padding-top:20px;
    padding-left: 10px;
    overflow: hidden;
	box-sizing: border-box;
    font-size: 40px;
    font-weight: 400;
    color: #fff;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
}
p#gotop a:hover { opacity: 0.6;}
p#gotop a:hover::after {
    padding-top: 15px;
}

@media screen and ( max-width: 1100px) {

    #footer ul.footerNav {
        font-size: 15px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 999px) {

    #footer ul.footerNav {
        font-size: 14px;
    }
    #footer ul.footerNav li {
        letter-spacing: 0.05em;
    }
    #footer ul.footerNav a {
        padding: 5px 0.5em;
    }
    #footer ul.footerNav li:last-child {
        margin-left: 1em;
    }
    
}/*==== // end @media */

@media screen and ( max-width: 800px) {
    
    #footer ul.footerNav li {
        letter-spacing: 0em;
    }
    
    #footer ul.footerNav li:first-child {
        display: none;
    }
    #footer ul.footerNav li:nth-child(2)::before {
        content: none;
    }
    
}/*==== // end @media */    
@media screen and ( max-width: 767px) {

    #footer ul.footerNav { display: none; }
    
    p#gotop {
        transform: scale(0.8);
        bottom: 0px;
        right: -8px;
    }
	
}/*==== // end @media */
@media screen and ( max-width: 400px) {

    #footer #copyright small { 
        letter-spacing: 0em;
        font-size: 12px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 370px) {
    

    #footer #copyright small { 
       font-size: 11px;
    }
    
}/*==== // end @media */


/*	8= mainVisual module
-----------------------------------------------------*/

#mainVisual {
    position: relative;
    z-index: 1;
    opacity: 1;
    animation: fade1 1.5s ease 0s 1 normal;
    width: 100%;
    margin-bottom: 60px;
    background: #AFBAC0;
	background: -webkit-linear-gradient(90deg, #AEDFC2, #81B5E4);
	background:    -moz-linear-gradient(90deg, #AEDFC2, #81B5E4);
	background:     -ms-linear-gradient(90deg, #AEDFC2, #81B5E4);
	background:      -o-linear-gradient(90deg, #AEDFC2, #81B5E4);
	background:         linear-gradient(0deg,  #D5E9EA, #79B9E6);
}
#mainVisual .inner {
    position: relative;
    width: 100%;
    max-width: 1400px;
    height: 100%;
    margin: 0 auto;
    text-align: left;
    background: url(../images/main_img.jpg) no-repeat center top;
    -webkit-background-size:  contain;
    background-size: contain;
}


#mainVisual h1 {
	position: absolute;
    z-index: 11;
    top: 0px;
    right: 0px;
    display: inline-block;
    width: 24.26em;
    height: 6.5em;
    padding: 2.1em 1em;
    background: url(../images/bg_h1_w.png) no-repeat center top;
    -webkit-background-size:  contain;
    background-size: contain;
    animation: fade2 2s ease 0s 1 normal;
    font-size: 34px;
    text-align: right;
    letter-spacing: 0.05em;
    font-weight: 900;
    color: #3a3a3a;
    line-height: 1.65;
}
#mainVisual h1 span {
    display: block;
}
#mainVisual h1 span:first-child {
    padding-right: 2em;
}
#mainVisual h1 strong {
    font-weight: 900;
}

#mainVisual div.info-text {
    position: absolute;
    top: 240px;
    right: 20px;		
    width: 680px;
    background:rgba(164,0,0,0.9);
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.05em;
    animation: fade2 3s ease 0s 1 normal;
}
#mainVisual div.info-text .shadow {
    position: relative;
    width: 100%;
    height: calc( 100% + 25px );
    margin: -25px 0;
    padding: 40px 40px 10px 40px;
}
#mainVisual div.info-text .shadow:after {
    content: "";
    position: absolute;
    right: -5px;
    bottom: -4px;
    display: block;
    width: calc( 100% + 5px );
    height: calc( 100% + 4px );
    background: url(../images/bg_h1_shadow.png) no-repeat right bottom;
    -webkit-background-size: 720px 310px;
    background-size: 720px 310px;
}
#mainVisual div.info-text:before,
#mainVisual div.info-text:after {
    width: calc(100% - 25px);
    height: 0;
    display: block;
    position: absolute;
    left: 0;
    content: "";
}
#mainVisual div.info-text:before {
    border-bottom: solid 25px rgba(164,0,0,0.9);
    border-left: solid 25px transparent;
    bottom: 100%;
}
#mainVisual div.info-text:after {
    border-top: solid 25px rgba(164,0,0,0.9);
    border-right: solid 25px transparent;
    top: 100%;
}
#mainVisual div.info-text p {
    margin-bottom: 1em;
}
#mainVisual div.info-text p br.sp {
    display: block;
}
#mainVisual div.info-text p br.sp2 { display: none; }
#mainVisual div.info-text p:nth-child(2) {
    margin-left: 1em;
}
#mainVisual div.info-text p:last-child {
    margin-left: 2em;
    font-size: 138%;
    letter-spacing: 0.05em;
}



@media screen and ( min-width: 1200px) {
    
    #mainVisual{
        height: 500px;
	}


}/*==== // end @media */
@media screen and ( max-width: 1199px) {
    
    #mainVisual{
        margin-bottom: 100px;
        height: 41.66vw;
	}

}/*==== // end @media */
@media screen and ( max-width: 1050px) {
    
    #mainVisual{ margin-bottom: 120px; }

}/*==== // end @media */
@media screen and ( max-width: 999px) {
    
    #mainVisual{
        margin-bottom: 70px;
	}
    #mainVisual h1 {
        font-size: 28px;
	}
    #mainVisual div.info-text {
        top: 200px;
        right: 20px;		
        width: 590px;
        font-size: 18px;
    }
    
    #mainVisual div.info-text .shadow {
        position: relative;
        width: 100%;
        height: calc( 100% + 25px );
        margin: -25px 0;
        padding: 35px 25px 5px 35px;
    }
    #mainVisual .info-text p:last-child { font-size: 122%; }

}/*==== // end @media */
@media screen and ( max-width: 930px) {
    
    #mainVisual{ margin-bottom: 90px; }  

}/*==== // end @media */
@media screen and ( max-width: 850px) {
    
    #mainVisual{
        margin-bottom: 80px;
	}
    #mainVisual h1 {
        font-size: 26px;
	}
    #mainVisual div.info-text {
        top: 180px;
        right: 20px;		
        width: 590px;
        font-size: 16px;
    }

}/*==== // end @media */
@media screen and ( max-width: 790px) {
    
    #mainVisual{ margin-bottom: 90px; }

}/*==== // end @media */
@media screen and ( max-width: 767px) {
	
    #mainVisual {
        margin-bottom: 110px;
	}
	
    #mainVisual h1 {
        font-size: 24px;
        letter-spacing: 0.1em;
	}
    
	
}/*==== // end @media */
@media screen and ( max-width: 710px) {
	
    #mainVisual { margin-bottom: 125px; }
	
}/*==== // end @media */
@media screen and ( max-width: 680px) {
	
    #mainVisual {
        margin-bottom: 140px;
	}

    #mainVisual h1 {
        width: 21em;
        height: 6.5em;
        padding: 1.6em 0.7em 2.2em 0em;
        font-size: 24px;
        line-height: 1.7;
        letter-spacing: 0.05em;
	}
    #mainVisual h1 span:first-child {
        padding-right:1em;
    }
    
    #mainVisual div.info-text {
        right: 20px;		
        width: calc( 100vw - 40px );
        height: auto;
    }
    #mainVisual div.info-text p { letter-spacing: 0.05em;}
	
}/*==== // end @media */
@media screen and ( max-width: 620px) {
	
    #mainVisual { margin-bottom: 160px; }
    
}/*==== // end @media */
@media screen and ( max-width: 580px) {

    #mainVisual {
        height: 60vw;
        margin-bottom: 50px;
	}
    #mainVisual .inner {
        position: relative;
        width: 100%;
        max-width: 1400px;
        height: 100%;
        margin: 0 auto;
        text-align: left;
        background: url(../images/main_img.jpg) no-repeat 10% top;
        -webkit-background-size: cover;
        background-size: cover;
    }
	
    #mainVisual h1 {
        top: 20px;
        font-size: 22px;
        letter-spacing: 0.03em;
	}
    #mainVisual div.info-text {
        top: 180px;
        right: auto;
        left: 20px;
        font-size: 15px;
    }

    #mainVisual div.info-text .shadow {
        padding: 22px 12px 0px 18px;
    }
    #mainVisual div.info-text p br { display: none;}
    #mainVisual div.info-text .shadow p:nth-child(2) {
        margin-left: 0;
    }
    #mainVisual div.info-text .shadow p:last-child {
        margin-left: 0;
        text-align: center;
    }
	
}/*==== // end @media */
@media screen and ( max-width: 530px) {

    #mainVisual { margin-bottom: 70px; }
    
}/*==== // end @media */
@media screen and ( max-width: 500px) {

    #mainVisual { margin-bottom: 95px; }
    
}/*==== // end @media */
@media screen and ( max-width: 480px) {
    
    #mainVisual {
        height: 70vw;
        margin-bottom: 80px;
	}
	
    #mainVisual h1 { top: 35px; font-weight: 700; font-size: 20px;  }
    #mainVisual div.info-text {
        width: calc( 100vw - 30px );
        left: 15px;
        font-size: 15px;
    }
    #mainVisual div.info-text p br.sp { display: none; }

	
}/*==== // end @media */

@media screen and ( max-width: 450px) {

    #mainVisual { margin-bottom: 100px; }
    #mainVisual div.info-text p br.sp2 { display: block; }
    
}/*==== // end @media */

@media screen and ( max-width: 440px) {

    #mainVisual h1 { top: 40px;  font-size: 18px;  }
    #mainVisual div.info-text {
        font-size: 14px;
    }
    #mainVisual div.info-text .shadow p:last-child {
        font-size: 18px;
    }
	
}/*==== // end @media */
@media screen and ( max-width: 400px) {
	
    #mainVisual { margin-bottom: 125px; }
        
    #mainVisual h1 { top: 45px; }

    #mainVisual div.info-text .shadow p:last-child {
        font-size: 18px;
    }
	
}/*==== // end @media */
@media screen and ( max-width: 370px) {
	
    #mainVisual {
        margin-bottom: 150px;
	}
    #mainVisual h1 { top: 45px; }
    #mainVisual div.info-text {
        font-size: 13px;
    }
    #mainVisual div.info-text .shadow {
        padding-bottom: 25px;
    }
    #mainVisual div.info-text .shadow p:last-child {
        font-size: 16px;
        margin-bottom: 0;
    }
	
}/*==== // end @media */

/*	9= detail module
-----------------------------------------------------*/
body#detail .mainInner {
    text-align: center;
}
body#detail .mainInner .content {
    text-align: left;
}
body#detail .mainInner div.tile_frame {
    align-items: center;
    flex-direction: row-reverse;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    padding: 3px 35px 3px 50px;
}
body#detail .mainInner .content div.tile_frame {
    align-items: flex-start;
    flex-direction: row;
    padding: 5px 0;
}
body#detail .mainInner .keyword,
body#detail .mainInner .keyword p,
body#detail .mainInner .keyword a,
body#detail .mainInner .keyword span {
    font-size: 15px;
    color: #0b6e80;
    letter-spacing:  0.05em;
    font-weight: 500;
}
body#detail .mainInner .keyword {
    width: auto;
    margin-right: auto;
    padding-top: 5px;
    vertical-align: bottom;
}
body#detail .mainInner .keyword a,
body#detail .mainInner .keyword span {
    display: inline-block;
    text-decoration: none;
    margin-right: 1em;
}
body#detail .mainInner .keyword a:hover { text-decoration: underline; }
body#detail .content h2 {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
    padding: 15px 15px 13px;
    letter-spacing: 0.05em;
    line-height: 1.4;
}
body#detail .content p.time {
    margin-bottom: 10px;
    padding: 12px 17px 13px;
    background: #dce5f1;
    border-top: solid 2px #4272a7;
    color: #c7000a;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.4;
}
body#detail .content .image {
    width: 640px;
    max-width: 60%;
    margin-right: 10px;
}
body#detail .content .image img {
    width: 100%;
    height: auto;
    margin-bottom: 5px;
    border:  solid 1px #ddd;
}
body#detail .content .image iframe {
    width: 640px;
    max-width: 100%;
    height: 360px;
    max-height: 100%;
    margin-bottom: 5px;
    border:  solid 1px #ddd;
}
.image .copy {
    position: relative;
    display: block;
    padding: 3px 5px 10px;
    font-size: 12px;
    color: #666;
    line-height: 1.3;
    text-align: center;
    letter-spacing: 0.05em;
}
.btnBlock {
    width: calc( 100% - 650px);
    min-width: calc( 40% - 10px );
}
.btnBlock .block {
    width:  100%;
    padding: 12px 10px;
    margin-bottom: 8px;
    border: solid 1px #586385;
    background: #f3eeee;
    font-size: 14px;
    font-weight: 700;
}
.btnBlock .block:last-child {
    margin-bottom: 0;
}
.btnBlock .block p {
    padding: 0 10px;
    font-size: 14px;
    font-weight: 700;
}
.btnBlock .btn {
    position: relative;
    display: block;
    margin: 0 0 15px;
    width: 100%;
    height: auto;
    min-height: 46px;
    padding: 13px 1em 13px 5em;
    line-height: 1.35;
    border-radius: 5px;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.3em;
    text-align: center;
    text-decoration: none;
    -webkit-box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	-moz-box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
	box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}
.btn_blue {
    background:#2593DF;
    background: -webkit-linear-gradient(180deg, #3B92CF, #2782c2);
	background:    -moz-linear-gradient(180deg, #3B92CF, #2782c2);
	background:     -ms-linear-gradient(180deg, #3B92CF, #2782c2);
	background:      -o-linear-gradient(180deg, #3B92CF, #2782c2);
	background:         linear-gradient(180deg, #2593DF, #0a69bf);

}
.btn_blue:hover { opacity: 0.85; }
.btn_navy {
    background: #35405f;
	background: -webkit-linear-gradient(170deg, #353f5e, #232b47);
	background:    -moz-linear-gradient(180deg, #353f5e, #232b47);
	background:     -ms-linear-gradient(180deg, #353f5e, #232b47);
	background:      -o-linear-gradient(180deg, #353f5e, #232b47);
	background:         linear-gradient(180deg, #35405f, #232b47);

}
.btn_navy:hover {
    background: #313a57;
	background: -webkit-linear-gradient(180deg, #495476, #313a57);
	background:    -moz-linear-gradient(180deg, #495476, #313a57);
	background:     -ms-linear-gradient(180deg, #495476, #313a57);
	background:      -o-linear-gradient(180deg, #495476, #313a57);
	background:         linear-gradient(180deg, #495476, #313a57);
}
.btn_green {
    background: #24a63d;
    background: -webkit-linear-gradient(180deg, #24a63d, #17942a);
	background:    -moz-linear-gradient(180deg, #24a63d, #17942a);
	background:     -ms-linear-gradient(180deg, #24a63d, #17942a);
	background:      -o-linear-gradient(180deg, #24a63d, #17942a);
	background:         linear-gradient(180deg, #24a63d, #17942a);

}
.btn_green:hover { opacity: 0.85; }

body#detail .content .about {
    padding: 10px 15px 13px;
    font-size: 16px;
}
body#detail .content .about h3 {
    margin-bottom: 0.8em;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.1em;
}
body#detail .content .about p {
    margin-bottom: 1em;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.8;
}
body#detail .content a.btn-more {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 1em auto 0;
    padding: 0 1.7em;
    border: solid 3px #35405f;
    border-radius: 30px;
    font-size: 18px;
    font-weight: 500;
    line-height: 2em;
    text-align: center;
    color: #000;
	text-decoration: none;
}
body#detail .content a.btn-more:hover {
    background: #35405f;
    color: #fff;
}
a.ico-dw::before {
    background: url(../images/ico_dw.png) no-repeat left center;
}
a.ico-mail::before {
    background: url(../images/ico_mail.png) no-repeat left center;
}
a.ico-text::before {
    background: url(../images/ico_text.png) no-repeat left center;
}
a.ico-link::before {
    background: url(../images/ico_link.png) no-repeat left center;
}
a.ico-home::before {
    background: url(../images/ico_home.png) no-repeat left center;
}
a.ico-pdf::before {
    background: url(../images/ico_pdf.png) no-repeat left center;
}
a.ico-mov::before {
    background: url(../images/ico_mov.png) no-repeat left center;
}
a.ico-shop::before {
    background: url(../images/ico_shop.png) no-repeat left center;
}
a.ico-dw::before,
a.ico-mail::before,
a.ico-text::before,
a.ico-link::before,
a.ico-home::before,
a.ico-pdf::before,
a.ico-mov::before,
a.ico-shop::before {
    content: "";
    position: absolute;
    left: 8%;
    top: 0px;
    z-index: 5;
    display: block;
    width: 46px;
    height: 100%;
    -webkit-background-size:  contain;
    background-size: contain;
}
@media screen and ( max-width:1108px ) {
    
    body#detail .content .image iframe {
        width: 57.762vw;
        height: 32.49vw;
    }

}/*==== // end @media */ 
@media screen and ( max-width:1100px ) {

    body#detail .mainInner div.tile_frame  {
        margin-right: 0;
        padding: 3px 2% 3px;
        padding-left: calc( 2% + 15px );
    }
    .btnBlock .btn {
        height: auto;
        min-height: 44px;
        padding: 12px 7px 12px 3.5em;
        line-height: 1.35;
        letter-spacing: 0.15em;
    }
    
    a.ico-dw::before,
    a.ico-mail::before,
    a.ico-text::before,
    a.ico-link::before,
    a.ico-home::before,
    a.ico-pdf::before,
    a.ico-mov::before,
    a.ico-shop::before {
        left: 5.5%;
        width: 44px;
    }
    
}/*==== // end @media */  
@media screen and ( max-width:999px ) {

    body#detail .content h2 {
        font-size: 22px;
        padding: 13px 12px 11px;
    }
    body#detail .content p.time {
        margin-bottom: 8px;
        padding:  10px 15px 11px;
    }
    body#detail .content .about {
        padding: 16px 12px 11px;
    }
    
    .btnBlock .btn {
        height: auto;
        min-height: 42px;
        padding: 11px 7px 11px 3.5em;
        line-height: 1.35;
        font-size: 16px;
        letter-spacing: 0.1em;
    }
    a.ico-dw::before,
    a.ico-mail::before,
    a.ico-text::before,
    a.ico-link::before,
    a.ico-home::before,
    a.ico-pdf::before,
    a.ico-mov::before,
    a.ico-shop::before {
        left: 5%;
        width: 42px;
        height: 100%;
    }
    
}/*==== // end @media */ 
@media screen and ( max-width:880px ) {
    
    body#detail .content .about h3 {
        font-size: 18px;
    }
    body#detail .content .about,
    body#detail .content .about p {
        font-size: 15px;
    }
    body#detail .content a.btn-more {
        padding: 0 1.8em;
        border: solid 2px #35405f;
        border-radius: 20px;
        font-size: 16px;

    }
    .btnBlock .btn {
        height: auto;
        min-height: 40px;
        padding: 10px 6px 10px 3em;
        letter-spacing: 0.05em;
    }
    
    
    a.ico-dw::before,
    a.ico-mail::before,
    a.ico-text::before,
    a.ico-link::before,
    a.ico-home::before,
    a.ico-pdf::before,
    a.ico-mov::before,
    a.ico-shop::before {
        left: 4.5%;
        top: 5%;
        width: 40px;
        height: 90%;
    }
    
}/*==== // end @media */  
@media screen and ( max-width:767px ) {

    body#detail .mainInner div.tile_frame {
        width: 100%;
        margin-right: 0;
        padding: 3px 3.25vw 2px;
        padding-left: calc( 3.25vw + 15px );
    }
    body#detail .content h2 {
        font-size: 20px;
    }
    body#detail .content p.time {
        font-size: 16px;
    }
    .btnBlock .block {
        width:  100%;
        padding: 9px 8px 11px;
        margin-bottom: 7px;
        background: #f3eeee;
        font-size: 13px;
    }
    .btnBlock .btn {
        height: auto;
        min-height: 38px;
        padding: 9px 6px 9px 3em;
        font-size: 15px;
    }
    a.ico-dw::before,
    a.ico-mail::before,
    a.ico-text::before,
    a.ico-link::before,
    a.ico-home::before,
    a.ico-pdf::before,
    a.ico-mov::before,
    a.ico-shop::before {
        left: 4%;
        width: 38px;
    }
    .btnBlock .block p {
        padding: 0 8px;
        font-size: 13px;
    }

}/*==== // end @media */

@media screen and ( max-width: 680px ) {

    body#detail .content .image {
        max-width: 50%;
    }
    body#detail .content .image img {
        margin-bottom: 2px;
    }
    body#detail .content .image iframe {
        width: 46.62vw;
        height: 26.22vw;
        margin-bottom: 0px;
    }
    .image .copy {
        font-size: 12px;
        letter-spacing: 0em;
    }
    .btnBlock {
        width: calc( 50% - 10px );
        min-width: calc( 50% - 10px );
    }

}/*==== // end @media */
@media screen and ( max-width: 580px ) {
    
    .btnBlock .btn {
        letter-spacing: 0px;
    }

}/*==== // end @media */

@media screen and ( max-width: 480px ) {
 
    body#detail .mainInner .keyword,
    body#detail .mainInner .keyword p,
    body#detail .mainInner .keyword a,
    body#detail .mainInner .keyword span {
        font-size: 14px;
        letter-spacing:  0em;
    }
    body#detail .mainInner .keyword a,
    body#detail .mainInner .keyword span {
        margin-right: 0.6em;
    }
    body#detail .content h2 {
        font-size: 18px;
    }
    body#detail .mainInner .content div.tile_frame {
        max-width: 100%;
    }
    body#detail .content .image {
        max-width: 100%;
        margin-right: 0;
    }
    body#detail .content .image iframe {
        width: 93.54vw;
        height: 52.61vw;
        margin-right: 0;
    }
    .image .copy {
        padding: 3px 5px 22px;
        font-size: 12px;
    }
    .btnBlock {
        width: 100%;
        margin-bottom: 10px;
    }
    .btnBlock .btn {
        letter-spacing: 0.15em;
        padding-right: 1.2em;
        padding-left: 3.5em;
    }

}/*==== // end @media */
@media screen and ( max-width: 400px ) {
    
    body#detail .mainInner .keyword,
    body#detail .mainInner .keyword p,
    body#detail .mainInner .keyword a,
    body#detail .mainInner .keyword span {
        font-size: 13px;
    }

    body#detail .content h2 {
        font-size: 17px;
        letter-spacing: 0em;
    }
    body#detail .content p.time {
        font-size: 15px;
        letter-spacing: 0em;
    }
    body#detail .content h2 {
        font-size: 16px;
    }
    .image .copy {
        padding: 3px 3px 18px;
        font-size: 11px;
    }
    body#detail .content .about,
    body#detail .content .about p {
        font-size: 14px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 370px ) {

    body#detail .content h2 {
        font-size: 16px;
    }
    body#detail .content p.time {
        font-size: 14px;
    }

    
}/*==== // end @media */

/*	10= form module
-----------------------------------------------------*/
body#form #main h1 {
    position: relative;
    max-width: 1200px;
    margin: 1.6em auto 0.8em;
    text-align: center;
    line-height: 1.1;
    font-size: 30px;
    font-weight: 400;
    color: #293352;
    letter-spacing: 0.1em;
    width: -moz-fit-content;
    width: fit-content;
}

#main .mainInnerBlock {
position: relative;
width: 94%;
max-width: 1200px;
margin: 0 auto;
padding-bottom: 1px;
}
#main .form {
    position: relative;
    padding: 25px 75px 40px;
    font-size: 18px;
    letter-spacing:  0.1em;
    background: #fff;
}
#main .thanksBlock {
    padding-bottom: 80px;
    font-size: 18px;
    letter-spacing:  0.1em;
}
.formImage {
    margin: 0 0 15px;
    text-align: center;
}
.formImage img {
    height: auto;
    max-width: 100%;
}


#main .form .formArea {
    position: relative;
    margin-top: 10px;
    padding: 3px 3px 1px;
}
p.formInfo,
p.contact-form-information {
    padding: 0 0.5em;
    line-height: 1.6;
}
.thanksBlock h2 {
    margin-bottom: 1em;
    padding: 0 0.5em;
    line-height: 1.6;
    font-size: 24px;
    font-weight: bold;
    font-weight: 500;
    text-align: center;
}

.thanksBlock p,
p.thanks {
    margin: 30px 100px;
    padding: 1em;
    line-height: 1.6;
    font-size: 20px;
}

#main .form dl {
    position: relative;
    margin-top: 20px;
    -js-display: flex;
	display : -webkit-box;
	display : -ms-flexbox;
	display : -webkit-flex;
	display : flex;
	flex-flow: row;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
    font-size: 18px;
}

#main .form dl dt {
    box-sizing: border-box;
	position: relative;
    width: 30%;
    margin-bottom: 10px;
    margin-right: 10px;
	padding: 1.1em 15px;
    background: #eee;
    font-size: 18px;
    line-height: 1.4;
    vertical-align: middle;
}

#main .form .required {
	display: inline-block;
	margin-left: 0.5em;
	color: #C7000B;
	font-size: 88.88%;
}

#main .form dl .attention,
#main .form dl p {
    display: block;
    margin: 4px 10px 5px;
	color: #666;
	font-size: 88.88%;
}
#main .form dd div.attention:first-child,
#main .form dd p:first-child {
    margin-top: -5px;
    margin-bottom: 1em;
}

#main .form dl .error {
    box-sizing: border-box;
    width: 92%;
    margin:  6px 5px 5px;
    padding: 4px 10px 3px;
    font-size: 77.777%;
    color: #C7000B;
    background: #FCE8EA;
    vertical-align: baseline;
}
#main .form .privacy_check dl .error,
#main .form dl dd.privacy_check .error {
    display: inline-block;
    width: auto;
    margin-top: 8px;
    margin-bottom: 0;
    border: solid 1px #C7000B;
    background: #fff;
}

#main .form dl dd {
	box-sizing: border-box;
	position: relative;
    width: calc( 70% - 11px );
    margin-bottom: 10px;
	padding: 1.1em 0 0.4em 15px;
	background: #ffffff;
    font-size: 18px;
    line-height: 1.4;
    vertical-align: middle;
}
#main .form dd ul { margin-right: -15px; margin-top: 8px; }
#main .form dd ul li {
    display: inline-block;
    min-width: 19%;
    overflow-x: visible;
    margin-right: 2em;
    margin-bottom: 5px;
}

#main .form dl dd input[type="text"],
#main .form dl dd textarea,
#main .form dl dd select,
#main .form dl dd option {
    box-sizing: border-box;
	width: 92%;
    margin: -0.5em 5px 0.2em;
	padding: 5px 10px;
	background: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
    outline: none;
    border: solid 1px #999999;
    font-size: 18px;
    line-height: 1.4;
    vertical-align: middle;
}
#main .form dl dd select {
    width: 18em;
    background: #ffffff url(/sales/common/images/form/arrow.png) no-repeat 97% center;
    -webkit-background-size: 25px 25px;
    background-size: 25px 25px;
}
#main .form dl dd input[type="text"] + select,
#main .form dl dd select + input[type="text"] {
    margin-top: 0.5em;
}


#main .form dl dd input.short { width: 18em; }	
#main .form dl dd input#postal_code { width: 7em; }


#main .form dl dd input[type="radio"],
#main .form dl dd input[type="checkbox"] {
    display: inline-block;
    margin-right: 0.8em;
    vertical-align: middle;
}
#main .form dl dd label { vertical-align: middle; }

body#form .formArea dl dd input[type="radio"] { display:  inline-block; }



body#form .formArea dl dd li input[type="radio"],
body#form .formArea dl dd li input[type="checkbox"],
body#form .privacy_check dl dd input[type="checkbox"],
body#form  dl dd.privacy_check input[type="checkbox"] {
    display: none;
}
body#form .formArea dl dd li label {
    margin-right: 1.5em;
    cursor: pointer;
    position: relative;
    color: #333;
    font-weight: normal;
    font-weight: 400;
    letter-spacing: 0;
    display: inline-block;
}
body#form .formArea dl dd li input[type="checkbox"] + label { margin-right: 1em; }
body#form .privacy_check dl dd label,
body#form dl dd.privacy_check label { position: relative; padding-top: 2px; }


body#form .formArea dl dd li input[type="radio"] + label:before,
body#form .formArea dl dd li input[type="checkbox"] + label:before,
body#form .privacy_check dl dd input[type="checkbox"] + label:before,
body#form dl dd.privacy_check input[type="checkbox"] + label:before{
    content:'';
    border: 1px solid #ccc;
    width: 22px;
    height: 22px;
    margin-right: 0.6em;
    display: inline-block;
    vertical-align: middle;
    background: #fff;
    border-radius:12px;
    -webkit-transition: all 400ms cubic-bezier(1, 0, 0, 1);
    -moz-transition: all 400ms cubic-bezier(1, 0, 0, 1);
    -o-transition: all 400ms cubic-bezier(1, 0, 0, 1);
    transition: all 400ms cubic-bezier(1, 0, 0, 1);
    -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
    -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
    -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
body#form .formArea dl dd li input[type="checkbox"] + label:before,
body#form .privacy_check dl dd input[type="checkbox"] + label:before,
body#form dl dd.privacy_check input[type="checkbox"] + label:before {
    width: 20px;
    height: 20px;
    border-radius: 3px;
}
body#form .formArea dl dd li input[type="radio"]:checked + label:before,
body#form .formArea dl dd li input[type="checkbox"]:checked + label:before,
body#form .privacy_check dl dd input[type="checkbox"]:checked + label:before,
body#form dl dd.privacy_check input[type="checkbox"]:checked + label:before{
    background: #fff;
    border-color: #bbb;
}
body#form .formArea dl dd li input[type="checkbox"] + label:after,
body#form .privacy_check dl dd input[type="checkbox"] + label:after,
body#form dl dd.privacy_check input[type="checkbox"] + label:after{
    content:'';
    opacity: 0;
    position: absolute;
    left: 7px;
    top: 0px;
    width:8px;
    height: 16px;
    border-right: 3px solid #ddd;
    border-bottom: 3px solid #ddd;
    transform:rotate(-200deg);
    -webkit-transition: all 200ms cubic-bezier(1, 0, 0, 1);
    -moz-transition: all 200ms cubic-bezier(1, 0, 0, 1);
    -o-transition: all 200ms cubic-bezier(1, 0, 0, 1);
    transition: all 200ms cubic-bezier(1, 0, 0, 1);
    -webkit-transition-timing-function: cubic-bezier(1, 0, 0, 1);
    -moz-transition-timing-function: cubic-bezier(1, 0, 0, 1);
    -o-transition-timing-function: cubic-bezier(1, 0, 0, 1);
    transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
body#form .formArea dl dd li input[type="radio"] + label:after {
    content:'';
    opacity: 0;
    position: absolute;
    left: 5px;
    top: 7px;
    display: block;
    width:15px;
    height: 15px;
    border: none;
    border-radius: 6px;
    background: #3399cc;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

body#form .formArea dl dd li input[type="checkbox"]:checked + label:after,
body#form .privacy_check dl dd input[type="checkbox"]:checked + label:after,
body#form dl dd.privacy_check input[type="checkbox"]:checked + label:after{
    content:'';
    opacity: 1;
    left: 7px;
    top: 0px;
    width:8px;
    height: 16px;
    border-right: 3px solid #3399cc;
    border-bottom: 3px solid #3399cc;
    transform:rotate(40deg);
}
body#form .formArea dl dd li input[type="radio"]:checked + label:after {
    opacity: 1;
    left: 5px;
    top: 7px;
    display: block;
    width:14px;
    height: 14px;
    border-radius: 6px;
    background: #3399cc;
}



#main .form .privacy_check dl { margin-top: 18px; }
#main .form dl dt.privacy_check {
    margin-top: 18px;
    background: #faeaeb;
    text-align: right;
}
#main .form dl dd.privacy_check {
    position: relative;
    width: calc( 70% + 3px );
    margin-left: -12px;
    margin-right: -3px;
    margin-top: 18px;
    padding-left: 27px;
    background: #faeaeb;
}
#main .form .privacy_check dl {
    display: block;
    background: #faeaeb;
    text-align: center;
}

#main .form .privacy_check dd label,
#main .form dd.privacy_check label { display: block; }

#main .form .privacy_check dl dt,
#main .form .privacy_check dl dd {
    display: inline-block;
    width: 48%;
    margin-bottom: 0;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    background: none;
    text-align: right;
    vertical-align: top;
}
#main .form dl dt.privacy_check,
#main .form dl dd.privacy_check {
    display: inline-block;
    width: 48%;
    margin-bottom: 0;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    vertical-align: top;
}
#main .form dl dd.privacy_check {
    width: 51.5%;
}
#main .form .privacy_check dl dd,
#main .form dl dd.privacy_check {
    text-align: left;
}
#main .form .privacy_check dl dt a,
#main .form dl dt.privacy_check a {
    color: #C7000B;
    text-decoration: underline;
    font-weight: bold;
    font-weight: 500;
}
#main .form .privacy_check dl dt a::after,
#main .form dl dt.privacy_check a::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: -3px 5px ;
    background: url(/sales/common/images/form/icon_blank.png) no-repeat left top;
    -webkit-background-size: cover;
    background-size: cover;
}

#main .formbtn { padding: 30px 0; text-align: center; line-height: 44px; vertical-align: top; }
#main .formbtn a {
    display: inline-block;
    width: 270px;
    height: 83px;
    padding-bottom: 10px;
    line-height: 73px;
    background: url(/sales/common/images/form/shadow_btn.jpg) no-repeat left bottom;
    -webkit-background-size: 270px 10px;
    background-size: 270px 10px;
    vertical-align: top; 
}
#main .formbtn a:hover { opacity: 0.7; }
#main .formbtn img { 
}
#main .formbtn img:hover {}
#main .formbtn input[type="image"] {
    width: 500px;
    height: 83px;
    padding-bottom: 10px;
    background: url(/sales/common/images/form/shadow_btn.jpg) no-repeat left bottom;
    -webkit-background-size: 500px 10px;
    background-size: 500px 10px;
    vertical-align: top; 
}



.sticker {
    position: absolute;
    right: 0px;
    bottom: 50px;
}

p.btn-back {
    position: relative;
    margin-top: -10px;
    margin-bottom: 15px;
    text-align: right;
}


p.btn-back a {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    margin: 1em 1em 0 auto;
    padding: 0 1.7em;
    border: solid 2px #35405f;
    border-radius: 30px;
    font-size: 15px;
    font-weight: 500;
    line-height: 2em;
    color: #000;
	text-decoration: none;
    background: #fff;
    -webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
    transition: all 0.3s ease;
    cursor: pointer;
}

p.btn-back a:hover {
    background: #35405f;
    color: #fff;
}


/* reCAPTCHA v3　表示位置 */
.grecaptcha-badge{
    margin-bottom: 310px;
}


.description {
    margin-bottom: 1em;
    padding: 1em;
    border: solid 1px #ccc;
    line-height: 1.6;
}
.description p { margin-bottom: 0.8em; font-size: 16px; }
.description p:last-child { margin-bottom: 0; }
.description p strong,
p.thanks strong { color: #C7000B; font-weight: normal; font-weight: 300; }
.thanksBlock p.thanks strong {
    display: block;
    padding-top: 1em;
    font-size: 18px;
}

#form #count-text {
    position: relative;
    display: inline-block;
    vertical-align: bottom;
    margin-left: 5px;
    margin-bottom: 8px;
    font-size: 13px;
    color: #555;
}

@media screen and ( max-width: 1024px ) {

    body#form #main h1 {
        font-size: 26px;
    }

    #main .mainInnerBlock {
        padding-bottom: 40px;
    }
    #main .form  {
        padding: 20px 40px 30px;
        font-size: 16px;
    }
    #main .thanksBlock {
        padding-bottom: 60px;
        font-size: 16px;
    }
    .thanksBlock h2 {
        font-size: 22px;
    }

    .thanksBlock p,
    p.thanks {
        margin: 25px 60px;
        font-size: 18px;
    }
    #main .form dl dt {
        font-size: 16px;
    }
    #main .form dl dd {
        font-size: 16px;
    }
    #main .form dl dd input[type="text"],
    #main .form dl dd textarea,
    #main .form dl dd select,
    #main .form dl dd option {
        font-size: 16px;
    }
    #main .formbtn a {
        width: 26.37vw;
        height: 8.1vw;
        padding-bottom: 10px;
        line-height: 7.13vw;
        -webkit-background-size: 6.37vw 0.977vw;
        background-size: 26.37vw 0.977vw;
        vertical-align: top; 
    }
    #main .formbtn a img {
        width: 26.37vw;
        height: 7.13vw;
    }
    #main .formbtn input[type="image"] {
        width: 48.83vw;
        height: 8.1vw;
        padding-bottom: 0.977vw;
        -webkit-background-size: 48.83vw 0.977vw;
        background-size: 48.83vw 0.977vw;
    }
    body#form .formArea dl dd li input[type="radio"] + label:after {
        left: 5px;
        top: 5px;
    }
    body#form .formArea dl dd li input[type="radio"]:checked + label:after {
        left: 5px;
        top: 5px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 900px ) {

    body#form #main h1 {
        font-size: 24px;
    }

    #main .mainInnerBlock {
        padding-bottom: 40px;
    }
    #main .form  {
        padding: 20px 40px 30px;
        font-size: 15px;
    }
    #main .thanksBlock {
        padding-bottom: 60px;
        font-size: 15px;
    }
    #main .form dl dt {
        font-size: 15px;
    }
    #main .form dl dd {
        font-size: 15px;
    }
    #main .form dl dd input[type="text"],
    #main .form dl dd textarea {
        font-size: 15px;
    }
    #main .form dl dd select,
    #main .form dl dd option {
        font-size: 16px;
    }
    
}/*==== // end @media */

@media screen and ( max-width: 768px ) {
    
    body#form #main h1 {
        font-size: 22px;
    }

    #main .mainInnerBlock {
        padding-bottom: 30px;
    }
    #main .form  {
        padding: 15px 25px 15px;
        font-size: 14px;
    }
    #main .thanksBlock {
        padding-bottom: 50px;
        font-size: 14px;
    }
   #main .thanksBlock h2 {
        padding-top: 20px;
        font-size: 20px;
    }

    #main .thanksBlock p,
    #main  p.thanks {
        margin: 20px 30px;
        font-size: 18px;
    }
    #main .form dl dt {
        font-size: 14px;
    }
    #main .form dl dd {
        font-size: 14px;
    }
    #main .form dl dd input[type="text"],
    #main .form dl dd textarea {
        font-size: 14px;
    }
    #main .form dl dd select,
    #main .form dl dd option {
        font-size: 16px;
    }
    
}/*==== // end @media */
@media screen and ( min-width: 681px ) {
    #main .formbtn .sp-only { display: none; }
}/*==== // end @media */
@media screen and ( max-width: 680px ) {
    
    #main .formbtn .pc-only { display: none; }
    
    body#form #main h1 {
        margin: 1.6em auto 1.2em;
        font-size: 22px;
    }
    
    #main .form,
    #main .thanksBlock {
        padding: 0px 0px 15px;
        font-size: 16px;
        letter-spacing:  0.05em;
        background: #fff;
    }

    body#form .form .formImage { position: relative; }
    body#form .form .formImage img {
        width: calc( 100vw - 30px );
        height: auto;
    }

    #main .form .formArea {
        position: relative;
        margin-top: 18px;
        padding: 10px 0px 5px;
    }

    p.formInfo,
    p.contact-form-information {
        padding: 0 15px;
        line-height: 1.5;
        font-size: 13px;
    }
    .thanksBlock h2 {
        margin-bottom: 1em;
        padding: 0 0.5em;
        line-height: 1.6;
        font-size: 18px;
        font-weight: bold;
        text-align: center
    }

    p.thanks {
        margin-left: 10px;
        margin-right: 10px;
        padding: 0 0.5em;
        line-height: 1.6;
        font-size: 14px;
        letter-spacing: 0.05em
    }

    #main .form dl {
        position: relative;
        display: block;
        width: 100%;
        padding: 0 10px;
        font-size: 16px;
    }

    #main .form dl dt {
        display: block;
        width: 100%;
        margin: 0 !important;
        padding: 15px 15px 6px 22px !important;
        background: #eee;
        font-size: 16px;
        font-weight:  bold;
        line-height: 1.4;
        vertical-align: middle;
    }

    #main .form .required {
        display: inline-block;
        margin-left: 0.5em;
        color: #C7000B;
        font-size: 88.88%;
    }

    #main .form dl dd {
        display: block;
        width: 100% !important;
        margin: 0 0 2px !important;
        padding: 3px 15px 15px !important;
        background: #eee;
        font-size: 16px;
        line-height: 1.7;
        vertical-align: middle;
    }

    #main .form dl .attention,
    #main .form dl p {
        display: block;
        margin: 4px 0px 5px;
        color: #666;
        font-size: 13px;
        font-weight: normal;
    }


    #main .form dt .attention {
        color: #444;
    }
    #main .form dl .error {
        margin:  3px 0px;
        padding: 4px 10px 3px;
        font-size: 77.777%;
        color: #C7000B;
        border: solid 1px #C7000B;
        background: #FCECED;
        vertical-align: baseline;
    }
    body#form .privacy_check dl dd .error,
    body#form dl dd.privacy_check .error { margin-top: 8px; }

    #main .form .privacy_check dl {
        display: block;
        margin:　0 0 20px;
        background: #faeaeb;
        text-align: center;
    }

    #main .form .privacy_check { margin: 0 10px 20px; }

    #main .form .privacy_check dl dt,
    #main .form .privacy_check dl dd {
        width: 100%;
        margin-bottom: 0;
        background: none;
        vertical-align: top;
        text-align: left;
    }
    #main .form dl dt.privacy_check,
    #main .form dl dd.privacy_check {
        margin-bottom: 0;
        margin-top: 0;
        vertical-align: top;
        text-align: left;
        background: #faeaeb;
    }
    #main .form dl dt.privacy_check  {
        margin: 0;
        padding-top: 1.5em;
        padding-bottom: 3px;
        font-size: 16px;
    }
    #main .form .privacy_check dl dt {
        margin: 0;
        padding-top: 1.5em !important;
        padding-bottom: 3px;
        font-size: 16px;
    }
    #main .form .privacy_check dl dd,
    #main .form dl dd.privacy_check {
        margin: 0;
        padding-top: 1.1em !important;
        padding-bottom: 1.5em;
        text-align: left;
    }
    #main .form .privacy_check dl dt a,
    #main .form dl dt.privacy_check a {
        color: #C7000B;
        text-decoration: underline;
        font-weight: bold;
    }
    #main .form .privacy_check dl dt a::after,
    #main .form dl dt.privacy_check a::after{
        content: "";
        display: inline-block;
        width: 16px;
        height: 16px;
        margin: -3px 3px ;
        background: url(/sales/common/images/form/icon_blank.png) no-repeat left top;
        -webkit-background-size: cover;
        background-size: cover;
    }

    #main .formbtn { padding: 10px 0; text-align: center; vertical-align: top; }
    #main .formbtn a.sp-only {
        display: inline-block;
        width: 27.78vw;
        height: 10.87vw;
        padding-bottom: 1.21vw;
        line-height: 9.66vw;
        background: url(/sales/common/images/form/shadow_btn.jpg) no-repeat left bottom;
        -webkit-background-size: 27.78vw 1.21vw;
        background-size: 27.78vw 1.21vw; 
        vertical-align: top; 
    }
    #main .formbtn a.sp-only img {
        height: 9.662vw;
        width: auto;
    }

    #main .formbtn input.sp-only[type="image"] {
        display: inline-block;
        width: 48.31vw;
        height: 10.87vw;
        padding-bottom: 1.21vw;
        background: url(/sales/common/images/form/shadow_btn.jpg) no-repeat left bottom;
        -webkit-background-size: 48.31vw 1.21vw;
        background-size: 48.31vw 1.21vw;
        vertical-align: top; 
    }
    p.btn-back {
        position: relative;
        margin-right: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 10px !important;
    }

    p.btn-back a {
        border-radius: 28px;
        font-size: 14px;
    }

    body#form .formArea dl dd input {
        width: 100%;
        margin: 5px 0;
        padding: 10px !important;
        border: none;
        outline: none;
        font-size: 16px;
        line-height: 1.7;
    }
    body#form .formArea dl dd textarea {
        box-sizing:  border-box;
        width: 97%;
        margin: 3px 1.5% 5px;
        padding: 10px;
        border: none;
        outline: none;
        font-size: 16px;
        line-height: 1.4;
    }



    body#form .formArea dl dd ul {
        margin: 8px 1%;
    }
    #form .formArea dl dd li {
        display: inline-block;
        min-width: 43%;
        margin-bottom: 10px;
        line-height: 22px;
    }


    body#form .formArea dl dd select {
        position: relative;
        box-sizing: border-box;
        display: block;
        outline:none;
        width: 98%;
        height: 43px;
        line-height: 23px;
        margin: 4px 1% 6px;
        padding: 10px 20px;
        text-indent: 0.01px;
        text-overflow: '';
        background: #fff;
        vertical-align: middle;
        color: inherit;
        font-size: 16px;
    }

    body#form .formArea dl dd select option {
      background-color: #fff;
      color: #333;
      font-size:  16px;
      line-height: 30px;
    }
    body#form .formArea dl dd select::-ms-expand {
      display: none;
    }
    body#form .formArea dl dd select:-moz-focusring { 
      color: transparent; 
      text-shadow: 0 0 0 #828c9a;
    }

    body#form .formArea p.info {
        padding: 4vw 6.2vw;
        background: #fff;
        font-size: 11px;
        text-align: left;
    }


    body#form .formArea .sticker {
        position: relative;
        box-sizing: border-box;
        margin: 0;
        padding: 12px 10px 0 10px;
        text-align:  right; 
    }
/* reCAPTCHA v3　表示位置 */
    .grecaptcha-badge { visibility: hidden; }

    #form .description {
        position: relative;
        margin-bottom: 1em;
        padding: 0.5em;
        margin: -3px 0.5em 0.5em;
        border: solid 1px #ccc;
        line-height: 1.4;
    }
    #form .description p { margin-bottom: 0.8em; font-size: 12px; line-height: 1.4; }
    #form .description p:last-child { margin-bottom: 0; }
    #form .description p strong,
    #form p.thanks strong { color: #C7000B; font-weight: normal; }
    #form .thanksBlock p.thanks strong {
        display: block;
        padding-top: 1em;
        font-size: 18px;
    }
    #form.message .thanksBlock p.thanks strong {
        padding-top: 0.7em;
        font-size: 13px;
    }

    #form #count-text {
        position: relative;
        display: block;
        vertical-align: bottom;
            text-align: right;
        margin-right: 5px;
        margin-bottom: 8px;
        font-size: 12px;
        color: #555;
    }

}/*==== // end @media */
@media screen and ( max-width: 580px ) {
    
    body#form #main h1 {
        font-size: 20px;
    }
    #main .thanksBlock p,
    #main  p.thanks {
        margin: 20px 30px;
        font-size: 16px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 450px ) {
    
    #main .form {
        padding-bottom: 20px;
        letter-spacing: 0.05em;
    }
    body#form #main h1 {
        font-size: 18px;
    }
    #main .thanksBlock p,
    #main  p.thanks {
        margin: 20px 20px;
        font-size: 15px;
    }
    #main .formbtn a.sp-only {
        display: inline-block;
        width: 32.86vw;
        height: 13.14vw;
        padding-bottom: 1.715vw;
        line-height: 11.43vw;
        background: url(/sales/common/images/form/shadow_btn.jpg) no-repeat left bottom;
        -webkit-background-size: 32.86vw 1.715vw;
        background-size: 32.86vw 1.715vw;
        vertical-align: top; 
    }
    #main .formbtn a.sp-only img {
        height: 11.43vw;
        width: auto;
    }

    #main .formbtn input.sp-only[type="image"] {
        display: inline-block;
        width:  57.14vw;
        height: 13.14vw;
        padding-bottom: 1.715vw;
        line-height: 11.43vw;
        background: url(/sales/common/images/form/shadow_btn.jpg) no-repeat left bottom;
        -webkit-background-size: 57.14vw 1.715vw;
        background-size: 57.14vw 1.715vw;
        vertical-align: top; 
    }

}/*==== // end @media */
@media screen and ( max-width: 400px ) {
    
    body#form #main h1 {
        letter-spacing: 0px;
        font-size: 20px;
    }
    body#form .thanksBlock h2 {
        font-size: 16px;
    }
    #main .thanksBlock p,
    #main  p.thanks {
        margin: 20px 20px;
        font-size: 14px;
    }
    
}/*==== // end @media */
@media screen and ( max-width: 370px ) {
    
    body#form #main h1 {
        font-size: 16px;
    }
}/*==== // end @media */
