/*
   Contents common css. ver 1.00.
*/

@charset "utf-8"

/* For all.*/
    body{
        background:#FFF;
        color:#434343;
        margin:0;
        padding:0;
        position: relative;
    }



/* Fonts */
    /* JP */
    @font-face {
        font-family: 'NotoSansCJKjp-Regular';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url('../fonts/jp/NotoSansCJKjp-Regular.woff2') format('woff2'),
        url('../fonts/jp/NotoSansCJKjp-Regular.woff')  format('woff');
        font-display: swap;
    }

    @font-face {
        font-family: 'NotoSansCJKjp-Bold';
        font-style: normal;
        font-weight: 700;
        font-display: swap;
        src: url('../fonts/jp/NotoSansCJKjp-Bold.woff2') format('woff2'),
        url('../fonts/jp/NotoSansCJKjp-Bold.woff')  format('woff');
        font-display: swap;
    }

	/* CH */
    @font-face {
        font-family: 'NotoSansCJKtc-Regular';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url('../fonts/ch/NotoSansCJKtc-Regular.woff') format('woff');
        font-display: swap;
    }

	/* TH */
    @font-face {
        font-family: 'Sarabun-Regular';
        font-style: normal;
        font-weight: 400;
        font-display: swap;
        src: url('../fonts/th/Sarabun-Regular.woff2') format('woff2'),
        url('../fonts/th/Sarabun-Regular.woff')  format('woff'),
        url('../fonts/th/Sarabun-Regular.eot')  format('eot');
        font-display: swap;
    }

    @font-face {
        font-family: 'Sarabun-Bold';
        font-style: normal;
        font-weight: 700;
        font-display: swap;
        src: url('../fonts/th/Sarabun-Bold.woff2') format('woff2'),
        url('../fonts/th/Sarabun-Bold.woff')  format('woff'),
        url('../fonts/th/Sarabun-Bold.eot')  format('eot');
        font-display: swap;
    }

	/* JP */
    html:lang(ja) {
        font-family: 'NotoSansCJKjp-Regular', sans-serif;
    }

    h2:lang(ja) {
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    h3:lang(ja) {
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    h4:lang(ja) {
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    .font_bold:lang(ja) {
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    .font_nml:lang(ja) {
        font-family: 'NotoSansCJKjp-Regular', sans-serif;
    }

	/* EN */
    html:lang(en) {
        font-family: 'NotoSansCJKjp-Regular', sans-serif;
    }

    h2:lang(en) {
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    h3:lang(en) {
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    h4:lang(en) {
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    .font_bold:lang(en) {
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    .font_nml:lang(en) {
        font-family: 'NotoSansCJKjp-Regular', sans-serif;
    }

	/* CH */
    html:lang(zh) {
        font-family: 'NotoSansCJKtc-Regular', sans-serif;
    }

    h2:lang(zh) {
        font-weight:bold;
        /*-webkit-text-stroke:1px;*/
    }

    h3:lang(zh) {
        font-weight:bold;
        /*-webkit-text-stroke:1px;*/
    }

    h4:lang(zh) {
        font-weight:bold;
    }

    .font_bold:lang(zh) {
        font-weight:bold;
        /*-webkit-text-stroke:1px;*/
    }

    .font_nml:lang(zh) {
        font-weight:normal;
        -webkit-text-stroke:0;
    }

    /* TH */
    html:lang(th) {
        /*font-family: 'Sarabun-Regular', sans-serif;*/
        font-family: 'NotoSansCJKjp-Regular', sans-serif;
    }

    h2:lang(th) {
        /*font-family: 'Sarabun-Bold', sans-serif;*/
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    h3:lang(th) {
        /*font-family: 'Sarabun-Bold', sans-serif;*/
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    h4:lang(th) {
        /*font-family: 'Sarabun-Bold', sans-serif;*/
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    .font_bold:lang(th) {
        /*font-family: 'Sarabun-Bold', sans-serif;*/
        font-family: 'NotoSansCJKjp-Bold', sans-serif;
    }

    .font_nml:lang(th) {
        /*font-family: 'Sarabun-Regular', sans-serif;*/
        font-family: 'NotoSansCJKjp-Regular', sans-serif;
    }

    /* Common */
    body{
        background:#FFF;
        color:#434343;
        margin:0;
        padding:0;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }

    input[type="text"], input[type="button"], textarea,input[type="file"]{
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        outline: none;
        appearance: none;
        -moz-appearance: none;
        -webkit-appearance: none;
        -o-appearance: none;
        -ms-appearance: none;
    }

    select{
        margin: 0;
        padding: 0;
        border: none;
        border-radius: 0;
        outline: none;
        appearance: none;
        -moz-appearance: none;
        -webkit-appearance: none;
        -o-appearance: none;
        -ms-appearance: none;
    }

    a, a:link, a:active, a:visited {
        text-decoration: none;
        cursor:pointer;
    }

    a:hover{
        text-decoration: none;
    }

    a img{
        border:none;
    }

    ul{
        list-style:none;
        margin:0;
        padding:0;
    }

    ul li{
        list-style:none;
    }

    table{
        border-collapse: collapse;
        border-spacing: 0;
    }

    h1, h2, h3, h4, h5, h6{
        margin:0;
        padding:0;
        font-weight: bold;
        font-size: 100%;
    }

    br{
        letter-spacing: normal;
    }

    dt,dd{
        padding:0;
        margin:0;
    }

	/* GDPR */
    div.gdpr_dialog {
        display: -webkit-box; /*Android4.3*/
        display: -moz-box;    /*Firefox21*/
        display: -ms-flexbox; /*IE10*/
        display: -webkit-flex; /*PC-Safari,iOS8.4*/
        display: flex;
        justify-content: flex-end;
        align-items: center;
        position: fixed;
        bottom: 0;
        background:#053977;
        color:#fff;
        width:100%;
        z-index:23;
        padding:6px 10px 6px 20px;
        font-size:0.9vw;
        font-weight:normal;
    }

    p.gdpr_txt{
        margin-right: auto;
    }

    p.gdpr_btns{
        display: flex;
    }

    p.gdpr_txt a{
        color:#fff;
        text-decoration:underline;
    }

    a.gdpr_btn_prf{
        display:block;
        padding: 6px 0;
        text-align:center;
        width:80px;
        text-decoration:none;
        border:1px solid #666;
        color:#333;
        background:#fff;
    }

    a.gdpr_btn_acp{
        display:block;
        padding: 6px 0;
        text-align:center;
        width:80px;
        margin-left:10px;
        text-decoration:none;
        border:1px solid #2C6FDF;
        background:#2C6FDF;
        color:#fff;
    }

    span.gdpr_btn_close{
        display:block;
        margin-top:5px;
        margin-left:10px;
        cursor:pointer;
    }

    span.gdpr_btn_close img{
        width:50%;
        height:auto;
    }

    div.gdprpopup_dialog_wrp{
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 100003;
    }

    div.gdprpopup_dialog{
        position:fixed;
        top:50%;
        left:50%;
        transform:translate(-50%,-50%);
        width:60%;
        background:#fff;
        border:1px solid #999;
        z-index:100004;
    }

    div.gdprpopup_dialog h3{
        background:#053977;
        color:#fff;
        font-size:2.0vw;
        padding:8px 40px;
    }

    div.gdprpopup_dialog h3:lang(zh) {
        -webkit-text-stroke:0;
    }

    span.gdprpopup_btn_close{
        display:block;
        position: absolute;
        top:1.4vw;
        right:20px;
        cursor:pointer;
    }

    span.gdprpopup_btn_close img{
        width:60%;
        height:auto;
    }

    p.gdprpopup_txt{
        width:100%;
        padding: 20px 40px;
    }

    p.gdprpopup_txt a{
        color:#0000ff;
    }

    div.gdprpopup_box{
        width:100%;
        padding: 20px 40px;
        position:relative;
    }

    div.gdprpopup_box p{
        padding:0;
        margin:0;
        width:calc(100% - 100px);
    }

    div.gdprpopup_switch{
        position:absolute;
        right:40px;
        top:50%;
    }

    .cmn-toggle {
        position: absolute;
        margin-left: -9999px;
        visibility: hidden;
    }

    .cmn-toggle + label {
        display: block;
        position: relative;
        cursor: pointer;
        outline: none;
        user-select: none;
    }

    input.cmn-toggle-round-flat + label {
        padding: 2px;
        width: 60px;
        height: 30px;
        background-color: #dddddd;
        border-radius: 30px;
        transition: background 0.4s;
    }

    input.cmn-toggle-round-flat + label:before,
    input.cmn-toggle-round-flat + label:after {
        display: block;
        position: absolute;
        content: "";
    }

    input.cmn-toggle-round-flat + label:before {
        top: 2px;
        left: 2px;
        bottom: 2px;
        right: 2px;
        border-radius: 30px;
        transition: background 0.4s;
    }

    input.cmn-toggle-round-flat + label:after {
        top: 3px;
        left: 3px;
        bottom: 3px;
        width: 24px;
        background-color: #fff;
        border-radius: 24px;
        transition: margin 0.4s, background 0.4s;
    }

    input.cmn-toggle-round-flat:checked + label {
        background-color: #8ce196;
    }

    input.cmn-toggle-round-flat:checked + label:after {
        margin-left: 30px;
        background-color: #fff;
    }


    p.gdprpopup_btns a{
        display:block;
        padding: 6px 0;
        cursor: pointer;
        text-align:center;
        width:80px;
        font-size:0.9em;
    }

    p.gdprpopup_btns{
        display: flex;
        justify-content: flex-end;
        padding-right:40px;
    }

    a.gdprpopup_btn_ccl{
        border:1px solid #666;
        color:#333;
        background:#fff;
    }

    a.gdprpopup_btn_sav{
        border:1px solid #2C6FDF;
        background:#2C6FDF;
        color:#fff;
        margin-left:20px;
    }

	/* MESSAGE */
	div.h_msg_dialog{
		width:100%;
		padding:10px;
		background:#FFEBE8;
		border-bottom:2px solid #ce0000;
		font-size:0.8em;
		font-weight:bold;
		text-align:center;
		position:relative;
		
		display:none;
	}

	div.h_msg_dialog span.h_msg_cnt{
		font-weight:normal;
		font-size:1.1em;
		padding:0 5px;
	}

	div.h_msg_dialog span.h_msg_close{
		display:block;
		cursor:pointer;
		width:14px;
		height:14px;
		position:absolute;
		right:10px;
		top:10px;
	}

	div.h_msg_dialog span.h_msg_close img{
		width:100%;
		height:auto;
	}

/***************************** header *****************************/
	div.header{
		width:100%;
		position: relative;
		z-index:1000000;
		height:80px;
		border-bottom:1px solid #ccc;
		background:#FFF;
	}

	div.header h1{
		width: 190px;
		position:absolute;
		top:24px;
		left:3%;
        cursor:pointer;
	}

	div.header h1 img{
		width: 100%;
		height: auto;
		vertical-align: bottom;
	}

	#header_nav_toggle{
		display: none;
	}

	div.header_lang_btn{
		display: none;
	}

	div.header_acc_btn{
		display: none;
	}

	div.header_inner nav{
		position:absolute;
		top:10px;
		right:3%;
	}

	div.header_inner nav ul{
		display: -webkit-box; /*Android4.3*/
		display: -moz-box;    /*Firefox21*/
		display: -ms-flexbox; /*IE10*/
		display: -webkit-flex; /*PC-Safari,iOS8.4*/
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
		-webkit-align-items: center; 
		align-items: center;
	}

	div.header_inner nav ul > li.header_sp_lang{
		display: none;
	}

	div.header_inner nav ul > li > a{
		display:inline-block;
		padding:20px 24px 20px 14px;
		font-size: 1.2vw;
		transition: all .3s;
		color:#434343;
		margin-right:10px;
		cursor:pointer;
	}

	div.header_inner nav ul > li.m_fst > a{
		padding:20px 14px 20px 14px;
		margin-right:0;
	}

	div.header_inner nav ul > li > a:hover{
		color:#71C5E8;
	}

	div.header_inner nav ul > li.header_mypage{
		/*margin-left:20px;*/
		
	}

	div.header_inner nav ul > li.header_mypage > a{
		padding:20px 0 20px 14px;
		margin-right:0;
	}

	div.header_inner nav ul  li.header_mypage {
		background: url(../imgs/user.svg) no-repeat;
		background-position:20px 22px;
		padding-left:26px;
	}

	ul#header_link5 li p{
        padding:0;
        margin:0;
		display:block;
        font-size:0.8em;
	}

	a#G_2_120 {
		color:#0CA789;
	}

	a#G_3_120 {
		color:#D424F2;
	}

	div.header_inner nav ul  li.header_mypage span{
		padding-right:23px;
	}

	div.header_inner nav ul > li.header_signup{
		margin-left:20px;
	}

	div.header_inner nav ul > li.header_signup > a{
		padding:20px 20px 20px 14px;
		margin-right:0;
	}

	div.header_inner nav ul > li.header_login span{
		border-right:1px solid #000;
		padding-right:23px;
	}

	div.header_inner nav ul > li.header_btn > a{
		display:block;
		color:#fff;
		background:#71C5E8;
		border-radius:6px;
		padding: 8px 16px ;
		margin-left:20px;
		font-size: 1.1vw;
	}

	div.header_inner nav ul > li.header_btn > a:hover{
		background:#434343;
		transition: all .3s;
	}

	div.header_inner nav ul > li > a > span {
		display: inline-block;
		position: relative;
	}

	div.header_inner nav ul > li.header_lang {
		position: relative;
		text-align:left;
 	}

	div.header_inner nav ul > li.header_lang > span{
		border-left:2px solid #ccc;
		padding-top:2px;
		padding-bottom:2px;
		padding-left:8px;
 	}

	span#lang_title_120{
		padding-left:0;
 	}

/*	span#lang_title_120:lang(en){
		background:url(../imgs/united-states.png) no-repeat;
		background-size: 16px auto;
		background-position: 0 60%;
 	}

	span#lang_title_120:lang(th){
		background:url(../imgs/thailand.png) no-repeat;
		background-size: 16px auto;
		background-position: 0 60%;
 	}

	span#lang_title_120:lang(zh){
		background:url(../imgs/china.png) no-repeat;
		background-size: 16px auto;
		background-position: 0 60%;
 	}
*/
	ul#header_link6 {
		width:100%;
        
 	}

	ul#header_link6 li{
		padding:0;
 	}

	ul#header_link6 li span{
		padding:0;
 	}

/*	ul#header_link6 li a#h_lang_th_120{
		padding-left:24px;
		background:url(../imgs/thailand.png) no-repeat;
		background-size: 16px auto;
		background-position: 0 60%;
 	}

	ul#header_link6 li a#h_lang_en_120{
		padding-left:24px;
		background:url(../imgs/united-states.png) no-repeat;
		background-size: 16px auto;
		background-position: 0 60%;
 	}

	ul#header_link6 li a#h_lang_ch_120{
		padding-left:24px;
		background:url(../imgs/china.png) no-repeat;
		background-size: 16px auto;
		background-position: 0 60%;
 	}
*/
/*	div.header_inner nav ul > li.header_lang::after {
		content: url(../imgs/chevron-down.svg);
	  position: absolute;
    bottom:12px;
    right:-12px;
 	}
*/
	div.header_inner nav ul > li > a > span::after {
		position: absolute;
		top: -30px;
		left: 50%;
		width: 0;
		height: 3px;
		background: #71C5E8;
		content: "";
		transition: 0.3s;
		transform: translateX(-50%);
	}

	div.header_inner nav ul > li > a > span:hover::after {
		width: 140%;
	}

	div.header_inner nav ul > li.header_btn > a > span::after {
		display:none;
	}

	div.header_inner nav ul > li > a.header_o_lnk{
		background:url(../imgs/chevron-down2.svg) no-repeat 97% 50%;
		background-size:14px auto;
	}

	div.header_inner nav ul > li.header_mypage > a.header_o_lnk{
		background:none;
	}


	/* Submenu */ 
	div.header_inner nav ul li ul{
		position: absolute;
		top: 60px;
		background:#FFF;
		border:2px solid #71C5E8;
		transition: 0.3s;
		font-size: 1.0vw;
	}

	div.header_inner nav ul li.header_lang ul{
		width:80%;
        left:10px;
	}

	div.header_inner nav ul li ul li{
		display: block;
	}

	div.header_inner nav ul li ul li a{
		padding:8px 10px 8px 16px;
		font-size: 1.2vw;
	}

	div.header_inner nav ul li ul li a:hover{
		color: #71C5E8;
		transition: 0.3s;
		text-decoration:underline;
	}

	div.header_inner nav ul li.header_lang ul li{
		position: relative;
 	}


	#top-head ul li ul{
		display: none;
	}

	#top-head ul li:hover ul{
		display: block;
		transition: 0.3s;
	}

	#header_nav_toggle{
		display: none;
	}

	div.header_inner nav ul li label {
		display: none;
	}

	div.header_inner nav ul li input {
		display: none;
	}

  /* ---------------------------------
      For Common 
    --------------------------------- */
	.sp_view{
		display:none;
	}

@media screen and (max-width:767px){
	.pc_view{
		display:none;
	}

	.sp_view{
		display:block;
	}
}
/*
    For Tab.
*/

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

	div.header h1{
		width: 18%;
	}

	div.header_inner nav ul > li > a{
		padding:20px 8px 20px 8px;
	}
}

/*
    For SP.
*/
@media screen and (max-width:767px){

	div.gdpr_dialog {
		flex-wrap: wrap;
		padding:6px 20px;
		font-size:0.8em;
	}

	p.gdpr_txt{
		width:100%;
		padding:0;
		margin:0;
		padding-right:20px;
	}

	p.gdpr_btns{
		width:100%;
		justify-content: flex-end;
		padding:0;
		margin:0;
		margin:4px 0;
	}

	div.gdpr_dialog input[type="button"]{
		width:100px;
		margin: 0 0 0 10px;
	}

	a.gdpr_btn_prf{
		padding: 3px 0;
	}

	a.gdpr_btn_acp{
		padding: 3px 0;
	}

	span.gdpr_btn_close{
		position: absolute;
		top:5px;
		right:5px;
		margin-left:0;
	}

	div.gdprpopup_dialog{
		width:80%;
		font-size:0.8em;
	}

	div.gdprpopup_dialog h3{
		font-size:1.0em;
		padding:8px 10px;
	}

	div.gdprpopup_box{
		padding: 0 10px  8px  10px ;
	}

	p.gdprpopup_txt{
		padding: 0 10px ;
		margin:8px 0;
	}

	div.gdprpopup_box p{
		width:calc(100% - 80px);
	}

	div.gdprpopup_switch{
		right:20px;
	}

	p.gdprpopup_btns{
		padding-right:20px;
	}

	p.gdprpopup_btns a{
		padding: 3px 0;
	}

	span.gdprpopup_btn_close{
		right:0;
		top:10px;
	}

	div.h_msg_dialog{
		top:70px;
	}

	div.header_inner{
	}

	#top-head{
		position:fixed;
	}

	div.header_inner h1{
		width: 160px;
	}

	div.header_inner h1 img{
		margin-left:10px;
	}

	div.header_inner nav{
		display: none;
		position: fixed;
		top:70px;
		width: 100%;
		height: 100%;
		background: #ffffff;
		left: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	div.header_inner nav ul{
		display: block;
		width: 100%;
		margin-left:10px;
	}

	div.header_inner nav ul > li > a{
		display: block;
		margin: 0 auto;
		text-align: left;
		border-bottom: 1px solid #ccc;
		padding:8px 0 8px 20px;
		background: none;
		color:#434343;
		font-size:1.0em;
	}

	div.header_inner nav ul > li:last-child{
		border: none;
	}

	div.header_inner nav ul > li > a{
	}
	div.header_inner nav ul > li > a.header_o_lnk{
		display: none;
	}
	div.header_inner nav ul > li > a > span::after {
		position: relative;
	}

	div.header_inner nav ul > li.header_signup{
		margin-left:0;
	}

	div.header_inner nav ul > li.header_mypage{
		margin-left:0;
	}

	div.header_inner nav ul > li.header_lang{
		display: none;
	}

	div.header_lang_btn{
		display: block;
		width: auto;
		height: auto;
		position: absolute;
		top: 22px;
		right:110px;
		font-size:0.9em;
	}

	div.header_lang_btn select{
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		padding:5px 10px;
		font-weight:bold;
		background:#fff;
	}

	div.header_acc_btn{
		display: block;
		width: 30px;
		height: 30px;
		position: absolute;
		top: 22px;
		right:70px;
	}

	div.header_acc_btn img{
		width: 100%;
		height: auto;
	}
/*
	div.header_lang_btn label.header_lang_lbl{
		padding:5px 20px 5px 26px;
		font-weight:bold;
	}

	div.header_lang_btn label.header_lang_lbl:lang(th) {
		background:url(../imgs/thailand.png) no-repeat;
		background-size: 16px auto;
		background-position: 0 50%;
    }

	div.header_lang_btn label.header_lang_lbl:lang(en) {
		background:url(../imgs/united-states.png) no-repeat;
		background-size: 16px auto;
		background-position: 0 56%;
    }

	div.header_lang_btn label.header_lang_lbl:lang(zh) {
		background:url(../imgs/china.png) no-repeat;
		background-size: 16px auto;
		background-position: 0 50%;
    }
*/
	#header_nav_toggle{
		display: block;
		width: 40px;
		height: 40px;
		position: absolute;
		top: 10px;
		right:18px;
		z-index: 100001;
		padding:10px;
	}

	#header_nav_toggle div {
		position: relative;
	}

	#header_nav_toggle span{
		display: block;
		height: 3px;
		background: #434343;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}

	#header_nav_toggle span:nth-child(1){
		top:4px;
	}

	#header_nav_toggle span:nth-child(2){
		top:14px;
	}

	#header_nav_toggle span:nth-child(3){
		top:24px;
	}
	
	.open #header_nav_toggle{
		background: #ffffff;
	}
	.open #header_nav_toggle span{
		background: #434343;
	}

	.open #header_nav_toggle span:nth-child(1) {
		top: 14px;
		-webkit-transform: rotate(135deg);
		-moz-transform: rotate(135deg);
		transform: rotate(135deg);
	}

	.open #header_nav_toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}

	.open #header_nav_toggle span:nth-child(3) {
		top: 14px;
		-webkit-transform: rotate(-135deg);
		-moz-transform: rotate(-135deg);
		transform: rotate(-135deg);
	}

	#top-head,
	div.header_inner{
		width:100%;
		top:0;
		margin:0;
		padding:0;
	}

	#top-head ul li ul{
		display: block;
	}

	div.header_inner nav ul > li > a > span::after {
		display:none;
	}

	div.header_inner nav ul > li > a > span:hover::after {
		display:none;
	}

	div.header_inner nav ul li ul{
		position: relative;
		top: 0;
		border:0;
		margin-left:0;
	}

	div.header_inner nav ul li ul li a{
		border:0;
		font-size:3.0em;
	}

	div.header_inner nav ul li ul li:last-child a{
		border-bottom:1px solid #ccc;;
	}

	div.header_inner nav ul li ul li a:hover{
		text-decoration:none;
	}

	div.header_inner nav ul li label {
		display: block;
		position: relative;
		border-bottom: 1px solid #ccc;
		padding:8px 0 8px 20px;
		color: #434343;
		background: #fff;
		cursor: pointer;
	}

	div.header_inner nav ul li label::before {
		position: absolute;
		content: url(../imgs/chevron-down.svg);
		color: #434343;
		right: 1.5em;
		top: 25%;
	}

	div.header_inner nav ul > li.header_login span{
		border-right:0;
		padding-right:0;
	}

	div.header_inner nav ul  li.header_mypage {
		background: none;
		padding-left:0;
	}
	div.header_inner nav ul  li.header_mypage label {
		background: url(../imgs/user.svg) no-repeat;
		background-position:20px;
		padding-left:40px;
	}

	div.header_inner nav ul li input {
		display: none;
	}

	div.header_inner nav ul li ul li {
		overflow-y: hidden;
		max-height: 0;
		transition: all 0.5s;
	}

	div.header_inner nav ul > li.header_btn {
		width:100%;
		padding:0;
		margin:0;
		border-bottom:none;
		position:relative;
		height:140px;
	}

	div.header_inner nav ul > li.header_btn > a{
		width:auto;
		padding:0
		margin:0;
		border-bottom:none;
		position:absolute;
		top:10px;
		right:20px;
		font-size:1.0em;
	}




	#header_menu_bar1:checked ~ #header_link1 li,
	#header_menu_bar2:checked ~ #header_link2 li,
	#header_menu_bar3:checked ~ #header_link3 li,
	#header_menu_bar4:checked ~ #header_link4 li,
	#header_menu_bar5:checked ~ #header_link5 li,
	#header_menu_bar6:checked ~ #header_link6 li{
		max-height: 46px;
		opacity: 1;
	}


	#header_menu_bar5:checked ~ #header_link5 li{
		max-height: 92px;
	}

}

/***************************** fixed_contents *****************************/
/*
    For PC.
*/
	div.fixed_contents{
		width:100%;
		margin:0 auto;
		padding-bottom:20px;
		background: #424242;
        margin-top:-10px;
	}

  /* ---------------------------------
      For box01 
    --------------------------------- */
	div.FIXED_BOX01{
		width:90%;
		margin:0 auto;
		border-bottom:1px solid #fff;
		padding:20px 0;
        color:#fff;
	}

	div.FIXED_BOX01	img{
		width:200px;
		height:auto;
	}

  /* ---------------------------------
      For box02 
    --------------------------------- */
	div.FIXED_BOX02{
		width:90%;
		margin:0 auto;
		display: -webkit-box;  /*Android*/
		display: -moz-box;     /*Firefox*/
		display: -ms-flexbox;  /*IE*/
		display: -webkit-flex; /*PC-Safari,iOS*/
		display: flex;
		flex-wrap: wrap;
        color:#fff;
		border-bottom:1px solid #fff;
		padding-bottom:50px;
	}

	div.FIXED_BOX02 h3{
		width:100%;
		margin-top:20px;
		margin-bottom:20px;
		font-size:1.2em;
	}

	div.FIXED_BOX02 h3:lang(zh) {
		font-weight:bold;
		-webkit-text-stroke:0;
	}

	div.FIXED_BOX_SEC{
		/*width:25%;*/
		display: flex;
		flex-direction: column;
	}
    
	div.FIXED_BOX_SEC01 {
		width:37%;
    }

	div.FIXED_BOX_SEC02 {
		width:30%;
    }

	div.FIXED_BOX_SEC03 {
		width:33%;
    }

    
	div.FIXED_BOX_SEC h4{
		font-size:1.1em;
		font-weight:normal;
		display: flex;
	}

	div.FIXED_BOX_SEC h4 a:hover{
		color:#fff;
        cursor:pointer;
	}

	div.FIXED_BOX_SEC h4:lang(ja) {
		font-family: 'NotoSansCJKjp-Regular', sans-serif;
	}

	div.FIXED_BOX_SEC h4:lang(en) {
		font-family: 'NotoSansCJKjp-Regular', sans-serif;
	}

	div.FIXED_BOX_SEC h4:lang(th) {
		font-family: 'NotoSansCJKjp-Regular', sans-serif;
	}

	div.FIXED_BOX_SEC h4:lang(zh) {
		-webkit-text-stroke:0;
	}


	div.FIXED_BOX_SEC ul{
		font-size:0.9em;
		margin-top:20px;
		padding-left:30px;
		border-left:1px solid #fff;
		flex: 1;
	}

	div.FIXED_BOX_SEC ul.nobdr{
		border-left:0;
		margin-top:0;
		font-size:1.0em;
        font-weight:bold;
	}

	div.FIXED_BOX_SEC ul li{
		margin-bottom:10px;
		width:100%;
	}

	div.FIXED_BOX_SEC ul li a{
		color:#fff;
	}

	div.FIXED_BOX_SEC ul li a:hover{
		color:#fff;
		transition: 0.3s;
        cursor:pointer;
	}

    div.MAIL_SENT_MSG{
        font-weight:bold;
        margin:80px 0;
        text-align:center;
        position:relative;
    }
    div.MAIL_SENT_MSG_ADS{
        position:absolute;
        top:0;
      width: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
    }
/*
    For SP.
*/
@media screen and (max-width:767px){
/*	div.fixed_contents{
		display:none;
	}
*/
	div.fixed_contents{
		width:100%;
		padding:0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
		margin-top:0;
	}


	div.FIXED_BOX_SEC{
		width:100%;
		flex-wrap: wrap;
        margin-bottom:0;
	}

	div.FIXED_BOX_SEC01 {
		width:100%;
    }

	div.FIXED_BOX_SEC02 {
		width:100%;
    }

	div.FIXED_BOX_SEC03 {
		width:100%;
        margin-bottom:0;
    }

	div.FIXED_BOX_SEC h4{
		font-size:1.0em;
		margin:10px 10px 10px 20px;
	}

	div.FIXED_BOX_SEC ul{
		display:none;
	}


	div.FIXED_BOX01{
		width:100%;
		flex-wrap: wrap;
		text-align:center;
		border-bottom:0;
	}

	div.FIXED_BOX02{
		width:100%;
		flex-wrap: wrap;
		border-bottom:0;
        margin-bottom:0;
        padding-bottom:0;
	}

	div.FIXED_BOX02 h3{
		display:none;
	}

	div.FIXED_BOX02 h4{
        margin:0;
		padding:0;
		width:100%;
		border-bottom:1px dotted #fff;
        padding:8px 0 8px 20px ;
	}

	div.FIXED_BOX02 h4 a{
        display:block;
        width:100%;
	}


	div.FIXED_BOX03{
		width:100%;
		flex-wrap: wrap;
	}

	div.FIXED_BOX_SEC ul.nobdr{
		display:block;
        margin:0;
        padding:0;
        font-weight:normal;
        padding:0;
	}

	div.FIXED_BOX_SEC ul.nobdr li{
        margin:0;
        padding:0;
        padding:8px 0 8px 20px ;
		border-bottom:1px dotted #fff;
	}

	div.FIXED_BOX_SEC ul.nobdr li a{
        display:block;
        width:100%;
	}


}

/***************************** main_contents *****************************/
/*
    For PC.
*/
	/*
    div.main_contents{
        position: relative;
	}
	
	div.CMN_SCR_IMG{
		width:100px;
        position: absolute;
		top: 50%;
        right:0;
        z-index:10000;
      transition: 0.5s;
	}

	div.CMN_SCR_IMG img{
		width:100%;
		height:auto;
	}
	*/

    .cmn_button{
      width:160px;
      position: absolute;
      right: 0;
      top: 0;
      z-index:22;
      transition: 0.5s;
      
      /*display:none(default)*/
      /*
      opacity: 0;
      visibility: hidden;
      padding-top:140px;
      */
      padding-top:150px;
     /* pointer-events: none;*/
     pointer-events: none;
    }
    
    .cmn_button img{
      width:100%;
      height:auto;
      pointer-events: auto;
    }

    /*display:active*/
    .cmn_active{
      opacity: 1;
      visibility: visible;
    }

	.cmn_button_sp{
	  display:none;
	}



/*
    For SP.
*/
@media screen and (max-width:767px){
	div.main_contents{
		padding-top:70px;
        /*margin-bottom:40px;*/
	}

	.cmn_button{
	  display:none;
	}

/*
    .cmn_button_sp{
	  display:block;
      width:50%;
      position: absolute;
      right: 0;
      bottom: 0;
      z-index:22;
      transition: 0.8s;
      -webkit-overflow-scrolling: touch;
      height:90vh;
    }
    
    .cmn_button_sp img{
      width:100%;
      height:auto;
      position: absolute;
      bottom: 0;
    }
*/

    .cmn_button_sp{
	  display:block;
      width:30%;
      position: fixed;
      right: 0;
      bottom: 0;
      z-index:22;
      transition: 0.8s;
      -webkit-overflow-scrolling: touch;
    }
    
    .cmn_button_sp img{
      width:100%;
      height:auto;
    }

}

/***************************** footer *****************************/
/*
    For PC.
*/
	div.footer{
		width:100%;
		padding:0 0 30px 0;
		background: #424242;
		font-size:0.9em;
	}

	div.FOOTER_WRAPPER{
		width:90%;
		margin:0 auto;
		color:#fff;
		display: -webkit-box;  /*Android*/
		display: -moz-box;     /*Firefox*/
		display: -ms-flexbox;  /*IE*/
		display: -webkit-flex; /*PC-Safari,iOS*/
		display: flex;
		flex-wrap: wrap;
		-webkit-align-items: flex-end; 
		align-items: flex-end;
	}

	div.FOOTER_WRAPPER a{
		color:#fff;
        cursor:pointer;
	}

	div.FOOTER_WRAPPER a:hover{
		color:#71C5E8;
		transition: 0.3s;
	}

  /* ---------------------------------
      For box01 
    --------------------------------- */
	div.FOOTER_BOX01{
		width:100%;
		order: 1;
	}

	div.FOOTER_BOX01 ul{
		display: -webkit-box;  /*Android*/
		display: -moz-box;     /*Firefox*/
		display: -ms-flexbox;  /*IE*/
		display: -webkit-flex; /*PC-Safari,iOS*/
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		border-bottom:1px solid #fff;
	}

	div.FOOTER_BOX01 ul li{
		padding:30px 20px 50px 20px;
	}

	div.FOOTER_BOX01 ul.sp_view{
		display: none;
	}

  /* ---------------------------------
      For box02 
    --------------------------------- */
	div.FOOTER_BOX02{
		width:55%;
		text-align:right;
		order: 3;
	}

	div.FOOTER_BOX02 ul{
		margin-right:14px;
	}

	div.FOOTER_BOX02 ul.sns{
		display:none;
	}
/*	div.FOOTER_BOX02 ul.sns li{
		display:inline-block;
		margin:4px;
	}

		div.FOOTER_BOX02 ul.sns li img{
		width:30px;
		display: block;
		transition: 0.5s;
	}

	div.FOOTER_BOX02 ul.sns li img:hover{
		transform: scale(0.7, 0.7);
	}

*/
	div.FOOTER_BOX02 ul.policy li{
		display:inline-block;
		margin:4px 4px 4px 20px;
	}

  /* ---------------------------------
      For box03 
    --------------------------------- */
	div.FOOTER_BOX03{
		width:45%;
		order: 2;
		display:flex;
		-webkit-align-items: flex-end; 
		align-items: flex-end;
		justify-content: space-between;
	}

	div.FOOTER_BOX03 p.FOOTER_BOX_COPY{
		margin-left:10px;
	}

	div.FOOTER_BOX03 p.FOOTER_BOX_CMP{
		background:#fff;
	}

	div.FOOTER_BOX03 p.FOOTER_BOX_CMP img{
		width:130px;
		height:auto;
	}


	div.FOOTER_BOX_CMP_WRP{
		width:100%;
		height:auto;
		background:#fff;
		padding:20px;
		position:relative;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
	}

	div.FOOTER_BOX_CMP_WRP_SCRL{
/*    width:100%;
    height:100%;
    overflow-y: auto;
*/
		color:#434343;
		font-size:0.8em;
		line-height:2.0em;
	}

	div.FOOTER_BOX_CMP_WRP_SCRL span{
		font-weight:bold;
		font-size:1.0em;
	}

	div.FOOTER_BOX_CMP_WRP_SCRL a{
		color:#71C5E8;
		text-decoration:underline;
	}

	div.FOOTER_BOX_CMP_WRP_SCRL p.F_LINE01{
		padding:0 10px 10px 10px;
		text-align:center;
	}

	div.FOOTER_BOX_CMP_WRP_SCRL p.F_LINE02{
		padding:0 10px 10px 10px;
		text-align:right;
	}

	div.FOOTER_BOX_CMP_WRP_SCRL p.F_LINE01 img{
		width:40%;
		height:auto;
	}

	div.FOOTER_BOX_CMP_WRP_SCRL dl{
		display: -webkit-box;  /*Android*/
		display: -moz-box;     /*Firefox*/
		display: -ms-flexbox;  /*IE*/
		display: -webkit-flex; /*PC-Safari,iOS*/
		display: flex;
		flex-wrap: wrap;
	}

	div.FOOTER_BOX_CMP_WRP_SCRL dt{
		width:49%;
		margin-right:1%;
		text-align:right;
	}

	div.FOOTER_BOX_CMP_WRP_SCRL dd{
		width:50%;
	}

  p.F_CLOSE{
		position:absolute;
		right:20px;
		top:0;
		width:20px;
		height:20px;
  }

  p.F_CLOSE img{
		width:100%;
		height:auto;
  }

div#Certificate-banners{
    background:#fff;
}
/*
    For SP.
*/
@media screen and (max-width:767px){
	div.footer{
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
	}

	div.FOOTER_WRAPPER{
		width:100%;
		padding:0;
		margin:0;
	}

	div.FOOTER_BOX01{
		width:100%;
        display:flex;
        justify-content: center;
		padding:20px 0 0 0;
		border-bottom:1px solid #fff;
	}

	div.FOOTER_BOX01 ul.sp_view{
		display: block;
	}

	div.FOOTER_BOX01 ul{
		width:40%;
		flex-wrap: wrap;
		border-bottom:none;
        display:block;
	}

	div.FOOTER_BOX01 ul li{
		width:100%;
		padding:12px 0 ;
		text-align:center;
	}

	div.FOOTER_BOX01 ul li:last-child{
		padding-bottom:30px;
	}

	div.FOOTER_BOX02{
		width:100%;
		flex-wrap: wrap;
		order: 2;
		text-align:center;
	}

	div.FOOTER_BOX02 ul{
		margin-right:0;
	}

	div.FOOTER_BOX02 ul.policy{
		width:100%;
		display:flex;
        justify-content: space-between;
        margin:20px 0;
        padding:0 20px;
        font-size:0.9em;
	}

	div.FOOTER_BOX02 ul.policy li{
		margin:0;
		padding:10px 0;
	}

	div.FOOTER_BOX03{
		width:100%;
		flex-wrap: wrap;
		order: 3;
		justify-content: center;
	}

	div.FOOTER_BOX03 p.FOOTER_BOX_COPY{
		width:100%;
		order: 2;
		text-align:center;
	}

	div.FOOTER_BOX03 p.FOOTER_BOX_CMP{
		order: 1;
		text-align:center;
	}


}

	p.CONTACT_FORM_LINE input[type="text"].FORM_NAME{
        background: #f5f5f5;
	}

	p.CONTACT_FORM_LINE input[type="text"].DISABLE_FORM_NAME{
        background: #595959;
	}

	p.CONTACT_FORM_LINE input[type="text"].HIGH_FORM_NAME{
        background: #FFCCE8;
	}

	p.CONTACT_FORM_LINE input[type="text"].FORM_MAIL{
        background: #f5f5f5;
	}

	p.CONTACT_FORM_LINE input[type="text"].DISABLE_FORM_MAIL]{
        background: #595959;
	}

	p.CONTACT_FORM_LINE input[type="text"].HIGH_FORM_MAIL{
        background: #FFCCE8;
	}

	p.CONTACT_FORM_LINE input[type="text"].FORM_SUB{
        background: #f5f5f5;
	}

	p.CONTACT_FORM_LINE input[type="text"].DISABLE_FORM_SUB{
        background: #595959;
	}

	p.CONTACT_FORM_LINE input[type="text"].HIGH_FORM_SUB{
        background: #FFCCE8;
	}

	p.CONTACT_FORM_LINE textarea.FORM_TXT{
        background: #f5f5f5;
	}

	p.CONTACT_FORM_LINE textarea.DISABLE_FORM_TXT{
        background: #595959;
	}

	p.CONTACT_FORM_LINE textarea.HIGH_FORM_TXT{
        background: #FFCCE8;
	}

    input[type="password"]{
        font-family: Tahoma;
    }


/***************** LOADING *****************/
/* ローディング画面背景 */
.loader-bg {
  display: flex;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  background: #ffffff;
  justify-content: center;
  align-items: center;
}

.loader-bg-none {
  display: none;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  background: #ffffff;
  justify-content: center;
  align-items: center;
}

/* ローディングアニメーション */
.loader {
  width: 6em;
  height: 6em;
  background:url(../imgs/loading.png) no-repeat left top;
  background-size: 6em auto;
  -webkit-animation: rotate-anime 2s linear infinite;
  animation: rotate-anime 2s linear infinite;
}
@-webkit-keyframes rotate-anime {
  0%  {transform: rotate(0);}
  100%  {transform: rotate(360deg);}
}
@keyframes rotate-anime {
  0%  {transform: rotate(0);}
  100%  {transform: rotate(360deg);}
}

.loaderx {
  width: 6em;
  height: 6em;
}
.loaderx img{
  width: 6em;
  height: 6em;
  -webkit-animation: rotate-animex 2s linear infinite;
  animation: rotate-animex 2s linear infinite;
}
@-webkit-keyframes rotate-animex {
  0%  {transform: rotate(0);}
  100%  {transform: rotate(360deg);}
}
@keyframes rotate-animex {
  0%  {transform: rotate(0);}
  100%  {transform: rotate(360deg);}
}

/*
.loader {
  font-size: 10px;
  margin: 20px auto;
  text-indent: -9999em;
  width: 7em;
  height: 7em;
  border-radius: 50%;
  background: #666;
  background: -moz-linear-gradient(left, #666 10%, rgba(0, 0, 0, 0) 42%);
  background: -webkit-linear-gradient(left, #666 10%, rgba(0, 0, 0, 0) 42%);
  background: -o-linear-gradient(left, #666 10%, rgba(0, 0, 0, 0) 42%);
  background: -ms-linear-gradient(left, #666 10%, rgba(0, 0, 0, 0) 42%);
  background: linear-gradient(to right, #666 10%, rgba(0, 0, 0, 0) 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
  animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
.loader:before {
  width: 50%;
  height: 50%;
  background: #666;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}
.loader:after {
  background: #fff;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@-webkit-keyframes load3 {
  0% {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  }
  100% {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
  }
}
@keyframes load3 {
  0% {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  }
  100% {
  -webkit-transform: rotate(360deg);
  transform: rotate(360deg);
  }
}
*/
.loader-bg p{
  display:none;
}

.highlight {

    background-color:yellow;

}



