@charset "utf-8";
/* CSS Document */



/*
* "Noto Sans JP" licensed under the SIL Open Font License 1.1
* by https://fonts.google.com/specimen/Noto+Sans+JP
*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("fonts/NS-400.woff2") format("woff2"), url("fonts/NS-400.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/NS-700.woff2") format("woff2"), url("fonts/NS-700.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP vt";
  font-style: normal;
  font-weight: 700;
  src: url("fonts/NS-700-vertical.woff2") format("woff2"), url("fonts/NS-700-vertical.woff") format("woff");
  font-display: swap;
}




/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
small,
dl,
dt,
dd,
ol,
ul,
li {
	margin: 0;
	font-size: 100%;
}

ul {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}

img {
	vertical-align: top;
}

li {
	list-style-type: none;
	vertical-align: baseline;
}

input,
button,
textarea,
select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}



/*--------------------------------------
　Base
---------------------------------------*/
*{
box-sizing: border-box;
}
img{
-webkit-backface-visibility: hidden;
}


body {
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 400;
font-size:1.5em;
line-height:2.0;
color: #0d1319;
text-align: justify;
}

img { 
  max-width: 100%; 
  height:auto;
}

a {
color: #0d1319;
text-decoration: none;
}

a:hover {
text-decoration: none;
}

p{
text-align: justify;
}

p a{
text-decoration: underline;
}


.fl {
  float: left;
}

.fr {
  float: right;
}

.strong {
  font-weight: bold;
}

.f110 {
  font-size: 110%;
}

.f120 {
  font-size: 120%;
}

.f130 {
  font-size: 130%;
}

.f150 {
  font-size: 150%;
}

.f200 {
  font-size: 200%;
}

.f300 {
  font-size: 300%;
}


/* Micro clearfix */

/* For modern browsers */
.cf:before,.cf:after { content:""; display:table; }
.cf:after { clear:both; }
/* For IE 6/7 (trigger hasLayout) */
.cf { zoom:1; }


.flImg{
float:left;
}
.frImg{
float:right;
}


h1,h2{
position: relative;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
padding: 0;
line-height: 1.5;
}
h3,h4,h5,h6{
position: relative;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
padding: 0;
line-height: 1.5;
}


.sttl{
position: relative;
margin: 0 0 12px;
font-size:2.4rem;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
line-height: 1.5;
}
.catch{
position: relative;
margin: 0 0 12px;
font-size:2.0rem;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
line-height: 1.6;
}


.fontS{
font-size: 67%;
}
.fontL{
font-size: 110%;
}

.fontBold{
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
}
.fontEng{
}
.font2dash{
letter-spacing: -0.2em;
}



html {
font-size: 62.5%;
}



.ulBox,
.liBox{
position: relative;
}








/*------------
600px--common
------------*/

.sp,
.sp_br{
display:none!important;
}
.sp2{
display:none;
}


body{
position: relative;
width: 100%;
min-width:1100px;
}

.forTab{
overflow: hidden;
}


a{
transition: all .2s ease-in-out;
}
a:hover{
opacity: 0.7;
}
a:hover img{
opacity: 1;
}

.mainWrap h1 a, .mainWrap h2 a, .mainWrap h3 a, .mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
text-decoration: none;
}


.areaInner{
position: relative;
width: 1000px;
margin: 0 auto;
}





/*--------------------------------------
　body_PC
---------------------------------------*/
*{
text-underline-offset: 0.15em;
}
body{
position: relative;
}
.bodyInner2{
position: relative;
}
.bodyInner::before{
content: "";
position: fixed;
/*clip-path: inset(0);*/
left: 0;
top: 0;
width: 100%;
height: 100%;
background: url("./img/tmp_bg.jpg") 0 0 repeat;
background-size: cover;
/*overflow: auto;*/
}
.bodyInner2{
position: relative;
}
.bodyInner2::before{content: "";position: fixed;top: -2rem;right: 2rem;width: 1030px;height: 275px;background: url(./img/tmp_bg_deco1.svg) 0 0 no-repeat;background-size: 1030px auto;opacity: .3;}
.bodyInner2::after{content: "";position: fixed;top: 4rem;left: 0px;width: 100%;height: 785px;background: url(./img/tmp_bg_deco2.png) 0 0 no-repeat;}






/*--------------------------------------
　header_PC
---------------------------------------*/
#header{
position: relative;
z-index: 14;
margin: 0 0 0;
}


#header .topArea{
position: relative;
z-index: 1;
padding: 3rem 4rem 1rem;
}

#header .rogo-area{
	width:25rem;
}
#header .siteName,
#header .siteName p{position: relative;font-weight: 400;font-size: 1.1rem;line-height: 1.6;color: #fff;}
#header .sps{position: relative;font-size: 1.1rem;line-height: 1.6;color: #fff;}


#header .logo{width: 25rem;margin: .5rem 0 1rem;}
#header .logo img{
width: 100%;
}






/*--------------------------------------
　page-top_PC
---------------------------------------*/
#page-top {
position: fixed;
z-index: 101;
bottom: 30px;
right: 30px;
width: 70px;
}

#page-top{
  transition: .3s;
  /*デフォルトで非表示にする*/
  opacity: 0;
  visibility: hidden;
}
/*このクラスが付与されると表示する*/
#page-top.active{
  opacity: 1;
  visibility: visible;
}
/*このクラスが付与されると停止する*/
#page-top.absolute{
}





/*--------------------------------------
　Global Nav
---------------------------------------*/
#gNav_pc{
position: fixed;
top: 0;
right: 0;
z-index: 10000;


transition: .3s;
/*デフォルトで非表示にする*/
opacity: 0;
visibility: hidden;

}
/*このクラスが付与されると表示する*/
#gNav_pc.active{
opacity: 1;
visibility: visible;
}



/* ハンバーガーメニュー */

#gNav_pc #showRight2{
z-index: 10000;
}

#gNav_pc button{
position: relative;
width: 80px;
height: 72px;
transition: all .2s ease-in-out;
}
#gNav_pc button::before, #gNav_pc button::after{
content: "";
display: block;
width: 60%;
border-top: 2px solid #00BF34;
position: absolute;
top: 43%;
left: 20%;
transition: .3s all;
}
#gNav_pc button::after{
top: 57%;
}
#gNav_pc button.active::before{
top: 50%;
transform: rotate(15deg);
}
#gNav_pc button.active::after{
top: 50%;
transform: rotate(-15deg);
}


#gNav_pc button:hover{
opacity: .7;
}


/* General styles for all menus */
.cbp-spmenu {
position: fixed;
margin: 72px 0 0;
padding: 60px 0 100px;
background: url("./img/menubg.jpg") 0 0 no-repeat;
background-size: cover;

overflow: auto;
-ms-overflow-style: none; /* IE, Edge 対応 */
scrollbar-width: none;/* Firefox 対応 */
}


.cbp-spmenu #mainMenu2{
position: relative;
z-index: 1;
/*overflow: auto;*/
overflow: visible;
margin: 0 auto;
/*padding: 0 0 200px;*/
height: 100%;
width: 120rem;

display: flex;
flex-wrap: wrap;
/*justify-content: space-between;*/
}
.cbp-spmenu #mainMenu2::-webkit-scrollbar{
display: none;/* Chrome, Safari 対応 */
}


.cbp-spmenu #mainMenu2 .gnavBox{
position: relative;
width: 30%;
margin: 0 1.5%;
/*float: left;*/
}
.cbp-spmenu #mainMenu2 .gnavBox:nth-child(2n){
/*float: right;*/
}



.cbp-spmenu a {
display: block;
padding: 14px 1.8rem 14px 0;
text-decoration: none;
line-height: 1.3;
cursor: pointer;
color: #fff;
font-size:1.5rem;
}
.cbp-spmenu .sttl{
margin: 0;
border-bottom: 1px solid #848484;
}
.cbp-spmenu .sttl a {
position: relative;
background: url(./img/arrow_gr.svg) calc(100% - 1rem) 50% no-repeat;
background-size: 1.6rem auto;
font-size:1.6rem;
}

.cbp-spmenu .sttl.tglMenu{
position: relative;
}
.cbp-spmenu .sttl.tglMenu::before{
content: "";
position: absolute;
top: calc(50% - 1.1rem);
right: 6px;
width: 2.2rem;
height: 2.2rem;
border-radius:50%;
background: #00BE36;
}

.cbp-spmenu .sttl.tglMenu a {
background: none;
}
.cbp-spmenu .sttl.tglMenu a::before {
content: '';
display: inline-block;
width: 14px;
height: 2px;
background-color: #fff;
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
.cbp-spmenu .sttl.tglMenu a::after {
content: '';
display: inline-block;
width: 14px;
height: 2px;
background-color: #fff;
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%) rotate(-90deg);
transition: transform .5s;
}
.cbp-spmenu .sttl.open a::before {
opacity: 0;
}
.cbp-spmenu .sttl.open a::after {
transform: translateY(-50%) rotate(-180deg);
}




.cbp-spmenu .home a {
background: url(./img/arrow_gr.svg) calc(100% - 1rem) 50% no-repeat;
background-size: 1.6rem auto;
}

.cbp-spmenu .accChild{
/*position: absolute;*/

width: 100%;
z-index: 1;
}


.cbp-spmenu li a {
background: url(./img/arrow_gr.svg) calc(100% - 1rem) 50% no-repeat;
background-size: 1.6rem auto;
padding: 14px 50px 14px 0;
}

.cbp-spmenu a:hover {
opacity: 0.7;
}
.cbp-spmenu a:active {
}

/* Orientation-dependent styles for the content of the menu */

.cbp-spmenu-vertical {
width: 100%;
height: 100%;
top: 0;
z-index: -1;
}
.cbp-spmenu-vertical a {
/*border-bottom: 1px solid #848484;*/
padding: 14px 4rem 14px 0;
}


/* Vertical menu that slides from the left or right */

.cbp-spmenu-right {
opacity: 0;
visibility: hidden;
/*right: -100vw;*/
right: 0;
}
.cbp-spmenu-right.cbp-spmenu-open {
opacity: 1;
visibility: visible;
right: 0;
z-index: 1000;
}


/* Transitions */
.cbp-spmenu,
.cbp-spmenu-push {
transition: all 0.5s ease;
}

#gNav_pc .accChild {
display: none;
}

.cbp-spmenu #mainMenu2 a br{
display: none;
}


body.body-fix{
overflow: hidden;
}


/* btns */
.cbp-spmenu .btns{
width: 88rem;
margin: 0 auto 30px;
padding: 0;
justify-content: space-between;
}
.cbp-spmenu .btns div{
width: 48%;
margin: 20px 0 10px;
}
.cbp-spmenu .btns div a{
border: none;
}




/*--------------------------------------
　fixNav_PC
---------------------------------------*/

#fixNav{
position: fixed;
z-index: 110;
top: 0;
left: 0;
width: 100%;
min-width: 1100px;
min-height: 72px;
background: #fff;
border-bottom: 1px solid #707070;
border-top: 1px solid #707070;

transition: .3s;
/*デフォルトで非表示にする*/
opacity: 0;
visibility: hidden;
}
/*このクラスが付与されると表示する*/
#fixNav.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると停止する*/
#fixNav.absolute{
/*opacity: 0;
visibility: hidden;*/
}



#fixNav .logo{
position: absolute;
top: 18px;
left: 20px;
width: 16.5rem;
}
#fixNav .logo img{
width: 100%;
}

#fixNav .btn-web{
position: absolute;
top: 0;
right: 8rem;
width: 33rem;
height: 100%;
margin: 0;
display: flex;
align-items: center;
}
#fixNav .btn-web a{
width: 100%;
min-height: 0;
padding: 14px 5rem 16px 3rem;
font-size:1.4rem;
}




#fixNav .btnArea{
position: absolute;
top: 10px;
right: 42rem;
display: flex;
flex-wrap: wrap;
align-items: center;
padding: 0 0;
}

#fixNav .btnArea a{
display: flex;
align-items: center;
justify-content: center;
min-height: 50px;
margin: 0 1rem;
padding: 8px 1rem 10px;
font-weight: 700;
line-height: 1.3;
text-align: center;
}



/*--------------------------------------
　Main Contents_PC
---------------------------------------*/

#contents {position: relative;z-index: 14;width: 100%;overflow-x: hidden;padding: 0 0 8rem;}


.mainWrap {
position: relative;
z-index: 1;
padding: 52px 0 52px;
min-height: 500px;
}


.mainWrap > .areaInner{
background: #fff;
}
.mainWrap .areaInner2{padding: 0 6rem 0.01rem;}



.smappage a br{
display: none;
}


.index a,
.mainWrap a{
display: block;
}
.index p a,.mainWrap p a,
.index li a,.mainWrap li a,
.index td a,.mainWrap td a{
display: inline;
}


/*--------------------------------------
　pankuzu_PC
---------------------------------------*/
#pankuzuWrap{
position: relative;
width: 100%;
margin: 0 0 0;
}
#pankuzu{width: 100%;margin: 0 auto 20px;padding: 2rem 2.5rem 0;font-size:1.2rem;color: #bcbcff;}
#pankuzu a{display: inline;text-decoration: underline;color: #bcbcff;}

#pankuzu br{
display: none;
}



/*--------------------------------------
　h1Area_PC
---------------------------------------*/
.h1Area{
position: relative;
z-index: 2;
margin: 0 0 60px;
padding: 20px 0 30px;
text-align: center;
}
.h1Area h1{position: relative;display: inline;margin: 0 0 20px;padding: 0.5rem 0.7rem;background: #1d1d72;font-size: 4.5rem;color: #fff;}
.h1Area .headNote{
margin: 30px 0 0;
line-height: 1.5;
font-size:1.2rem;
color: #1414B4;
}





/*--------------------------------------
　about_PC
---------------------------------------*/

.about{
position: relative;
z-index: 15;
width: 1100px;
margin: 0 auto -7rem;
}
.about .inner{
padding: 4rem 5rem 2rem;
background: url(./img/eng_about.svg) 0 0 no-repeat #606060;
background-size: auto 14.4rem;
}
.about .logo{
position: absolute;
top: 6.5rem;
left: 12rem;
width: 30rem;
}
.about .txtArea{
margin: 0 3rem 0 44rem;
color: #fff;
}
.about .btn-link{
margin: 1rem 0 1rem;
}
.about .btn-link a{
background: url(./img/arrow_wt.svg) 99% calc(50% - 0px) no-repeat;
background-size: 2rem auto;
color: #fff;
}



/*--------------------------------------
　Footer_PC
---------------------------------------*/

footer{
position: relative;
z-index: 14;
width: 100%;
background: #0d1319;
}

footer .footInner{
position: relative;
width: 1100px;
margin: 0 auto;
padding: 130px 0 100px;
}







footer .footInner .areaR{
width: 794px;
float: right;
}

footer .footBox{
position: relative;
z-index: 9;
margin: 0 0 40px;
text-align: left;
}


.footBox .sttl{
margin: 0 0 12px;
padding: 0 0 10px;
border-bottom: 1px solid #848484;
}
.footBox .sttl a{position: relative;display: inline-block;padding: 4px 3.6rem 4px 0;background: url("./img/arrow_gr.svg") 100% 50% no-repeat;background-size: 2rem auto;font-size:1.6rem;line-height: 1.3;color: #fff;}


.footBox > ul{
padding: 0 0;
}
.footBox li{
display: inline-block;
}

.footBox li ul{
}

.footBox li a{
padding: 0 1.8rem 0 0;
background: url("./img/arrow_gr.svg") 100% 50% no-repeat;
background-size: 1.4rem auto;
font-size:1.5rem;
color: #fff;
}
.footBox li:after{
content: "　/　";
color: #fff;
}
.footBox li:last-child:after{
content: "";
}


.footBox li.subCat{
display: inline;
margin: 0 20px 0 0;
}
.footBox li.subCat:after{
content: "";
}
.footBox li.subCat > a{
}
.footBox li.subCat > a:after{
}
.footBox ul.subList{
display: inline;
}

.footBox ul.subList > li:first-child::before{
content: "：";
color: #fff;
}
.footBox ul.subList li:after{
content: " / ";
color: #fff;
}
.footBox ul.subList li:last-child::after{
content: "";
}
.footBox ul.subList a{
font-weight: 400;
}



footer .noticeArea{
width: 794px;
float: right;
color: #fff;
}
footer .noticeArea p{
font-size:1.2rem;
}
footer .noticeArea a{
color: #fff;
text-decoration: underline;
}

footer .noticeArea .botPrg{
padding: 12px 0 0;
}
footer .noticeArea .topPrg{
position: absolute;
top: 13rem;
left: 0;
width: 275px;
padding: 14px 2.2rem 16px;
background: #606060;
}




footer .botArea{
position: relative;
min-width: 1100px;
box-sizing: border-box;
background: #0000F0;
}
footer .botArea .botInner{
position: relative;
width: 1100px;
margin: 0 auto;
}
footer .botArea .copy{
padding: 4px 10rem 6px;
font-size:1.2rem;
text-align: center;
color: #fff;
}
footer .botArea .copy a{
text-decoration: none;
color: #fff;
}
footer .botArea .smapLink{
position: absolute;
top: 0;
right: 0;
}
footer .botArea .smapLink a{
text-decoration: underline;
font-size:1.2rem;
color: #fff;
}


.footBox a br{
display: none;
}







/* ================== */
/*  PC共通パーツ　*/
/* ================== */
/* p */
.mainWrap p, .index p{
margin: 15px 0;
padding: 0 0;
word-break: break-all;
}




.mainWrap h2{position: relative;margin: 4rem 0 2rem;padding: 18px 2.5rem 20px 3.5rem;background: url(./img/tri1.svg) 0 0 no-repeat #006d1f;background-size: 4.4rem auto;font-size:3.0rem;color: #fff;}
.mainWrap h2::before {
}
.mainWrap h2::after{
}



.mainWrap h2 a{
position: relative;
display: block;
padding: 0 3.5rem 0 0;
color: #fff;
}
.mainWrap h2 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 0;
width: 3.2rem;
height: 100%;
background: url("./img/arrow_wt.svg") 99% calc(50% + 1px) no-repeat;
background-size: 3.2rem auto;
transition: all .2s ease-in-out;
}
.mainWrap h2 a:hover::before{
}
.mainWrap h2 a::after{
}
.mainWrap h2 a:hover::after{
}




.mainWrap h3{position: relative;margin: 3rem 0 2rem;padding: 18px 1rem 20px 3.5rem;border-bottom: 2px solid #E2E2E2;font-size:2.3rem;color: #1414B4;}
.mainWrap h3::before{content: "";position: absolute;top: 0;left: 0;width: 3.0rem;height: 100%;background: url(./img/tri2.svg) 0 50% no-repeat;background-size: 2rem auto;}
.mainWrap h3 a{
position: relative;
z-index: 1;
display: block;
padding: 0 3.5rem 0 0;
color: #1414B4;
}
.mainWrap h3 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 0;
width: 3.2rem;
height: 100%;
background: url("./img/arrow_gr.svg") 99% calc(50% + 1px) no-repeat;
background-size: 3.2rem auto;
transition: all .2s ease-in-out;
}
.mainWrap h3 a:hover::before{
}
.mainWrap h3 a::after{
}
.mainWrap h3 a:hover::after{
}



.mainWrap h4, .mainWrap h5, .mainWrap h6{position: relative;margin: 40px 0 30px;padding: 6px 1rem 8px 2rem;font-size:2.0rem;}
.mainWrap h4::before, .mainWrap h5::before, .mainWrap h6::before{
content: "";
position: absolute;
top: 5px;
left: 0;
width: 3px;
height: calc(100% - 10px);
background: #00BE36;
}




.mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
position: relative;
display: inline-block;
padding: 0 6rem 0 0;
}
.mainWrap h4 a::before, .mainWrap h5 a::before, .mainWrap h6 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 7px;
width: 3.2rem;
height: 100%;
background: url("./img/arrow_gr.svg") 99% calc(50% + 1px) no-repeat;
background-size: 3.2rem auto;
transition: all .2s ease-in-out;
}
.mainWrap h5 a:hover::before, .mainWrap h6 a:hover::before{
}
.mainWrap h5 a::after, .mainWrap h6 a::after{
}
.mainWrap h5 a:hover::after, .mainWrap h6 a:hover::after{
}




/* ulol */
.mainWrap ul,
.index ul,
#mainVis ul{
margin: 20px 0 20px;
padding:10px 1rem 0;
}
.mainWrap ul li,
.index ul li,
#mainVis ul li{position: relative;padding: 1px 0 1px 2rem;}
.mainWrap ul li::before,
.index ul li::before{
position: absolute;
content: "";
top: 15px;
left: 0;
width: 7px;
height: 7px;
background: #0000f0;
}

.mainWrap ol {
margin: 20px 0 20px;
padding:10px 10px 0;
}
.mainWrap ol li{padding: 1px 0 1px 22px;list-style: none;position: relative;counter-increment: number;}

.mainWrap ol li::before{
position: absolute;
top: 10px;
left: 0;
width: 15px;
height: 14px;
padding: 1px 0 1px;
background: #0000f0;
text-align: center;
letter-spacing: -0.5px;
line-height: 1.0;
font-size:1.3rem;
color: #fff;
}


.mainWrap ol li::before {
content: counter(number);
}


.mainWrap li a,
.index li a{
text-decoration: underline;
}
.mainWrap li a:hover,
.index li a:hover{
text-decoration: none;
}




/* btns */
.btn-internal,
.btn-web,
.btn-web2,
.btn-tel{position: relative;z-index: 1;display: flex;align-items: center;justify-content: center;margin: 3rem auto 5rem;text-align: center;}
.btn-internal a,
.btn-web a,
.btn-web2 a,
.btn-tel a{
position: relative;
z-index: 0;
top:0;
left: 0;
width: 380px;
min-height: 7.7rem;
display: flex;
align-items: center;
justify-content: center;
padding: 14px 6rem 16px;
    background-color: #00BE36;
    background-image: linear-gradient(135deg, #43DE6F 50%, transparent 50%);
    background-position: 100%;
    background-size: 300%;
text-align: center;
line-height: 1.5;
font-weight: 700;
color: #fff;
transition: all .4s ease-in-out;
overflow: hidden;
}
.btn-internal a::before,
.btn-web a::before,
.btn-web2 a::before{
content: "";
position: absolute;
z-index: 10;
top: calc(50% - 1.3rem);
right: 1.2rem;
width: 2.6rem;
height: 2.6rem;
background: url("./img/arrow_ccl_wt.svg") 99% 0 no-repeat;
background-size: 2.6rem auto;
transition: all .4s ease-in-out;
transform-origin: center right;
}


.btn-internal a:hover,
.btn-web a:hover,
.btn-web2 a:hover{
opacity: 1;
background-position: 0;
}

.btn-internal a:hover:before,
.btn-web a:hover:before,
.btn-web2 a:hover:before{
transform: scale(1.5, 1.5);
}




.btn-internal a{
}


.btn-web a{
background-color: #EA8643;
background-image: linear-gradient(135deg, #F1AA7B 50%, transparent 50%);
}
.btn-web a::before{
background-image: url("./img/arrow_ccl_wt2.svg");
}


.btn-web2 a{
background-color: #0000F0;
background-image: linear-gradient(135deg, #5959FE 50%, transparent 50%);
}
.btn-web2 a::before{
background-image: url("./img/arrow_ccl_wt2.svg");
}
.btn-web2 a::after{
content: "";
position: absolute;
top: 0;
left: 2.2rem;
width: 2.5rem;
height: 100%;
background: url(./img/icon_vc.svg) 0 50% no-repeat;
background-size: 2.5rem auto;
}

.btn-tel{
display: none;
}
.btn-tel a{
background-color: #0000F0;
color: #fff;
}
.btn-tel a::before{
content: "";
position: absolute;
top: 0;
left: 2rem;
width: 20px;
height: 100%;
background: url(./img/ico_tel.svg) 0 50% no-repeat;
background-size: 20px auto;
}




.btn-link{
margin: 20px 0;
text-align: right;
}
.btn-link a{
position: relative;
display: inline-block;
padding: 4px 3rem 5px 0;
background: url("./img/arrow_gr2.svg") 99% calc(50% - 0px) no-repeat;
background-size: 2rem auto;
line-height: 1.5;
font-weight: 700;
text-align: right;
text-decoration: underline;
}







/* ================== */
/*  テーブル　　　　　*/
/* ================== */
table {
width: 98%;
margin:5rem auto 7rem;
}
table th {
width: 22%;
padding: 20px 1.5rem;
background: #E2E2E2;
border: 1px solid #0000F0;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 400;
line-height: 1.6;
text-align:center;
word-break: break-all;
}
table td {background: #fff;border: 1px solid #0000F0;padding: 20px 1.6rem;line-height: 1.8;text-align: left;word-break: break-all;}
table a{
text-decoration: underline;
}
table a:hover{
text-decoration: none;
}

table td .caption{
white-space:normal;
}






/* ================== */
/*  PCカスタマイズ共通　*/
/* ================== */
.caption,
.source{
margin: 10px 0 0;
padding: 0 0 4px;
font-size:1.0rem;
line-height: 1.5;
color: #999;
/*overflow: auto;*/
letter-spacing: 0;
text-align: center;
word-break: break-all;
}

.caption a {
display: inline;
color: #999;
text-decoration: underline;
}
.caption a:hover{
text-decoration: none;
}




.marker{
position: relative;
display: inline;
/*background: linear-gradient(transparent 60%, rgba(255, 85, 0, .3) 0%) no-repeat bottom 0 left; */
border-bottom: 2px solid #00F546;
/*background: linear-gradient(transparent 50%, rgba(253, 229, 128, 1.0) 0%) no-repeat bottom 0 left; */
padding: 0 .5% 0;
margin: 0 .5%;
font-weight: 700;
line-height: 1;
}
.txt_bold{
font-weight: 700;
color: #0000f0;
}


/* float-wrap */

.float-wrap{margin: 50px 0;padding: 0 0px;}
.float-wrap .catch{
margin: 0 0 15px;
font-size:2.0rem;
color: #00BE36;
}


.float-wrap .flame{
position: relative;
}


.float-wrap img{
width: auto;
}
.float-wrap p{
margin: 10px 0;
padding: 0;
}
.float-wrap ul{
display: inline-block;
margin: 10px 0;
}
.float-wrap .fl{width: 39rem;padding: 0 30px 20px 0;text-align: left;}
.float-wrap .fr{width: 39rem;padding: 0 0 20px 40px;text-align: left;}

.float-wrap .ct{
width: auto;
margin: 0 auto;
padding: 0 0 20px;
text-align: center;
}



/* ================== */
/*  サイトマップ*/
/* ================== */
.smap h2{
margin: 0 0 25px;
}
.smap ul{
margin: 0 0 70px;
}






/* ================== */
/*  追加パーツ*/
/* ================== */



/*--------------------------------------
　mokuji_PC
---------------------------------------*/

.mokuji{
transition: .3s;
/*デフォルトで非表示にする*/
opacity: 1;
/*visibility: hidden;*/
}
/*このクラスが付与されると表示する*/
.mokuji.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると停止する*/
.mokuji.absolute{
}


.mokuji{
position: relative;
margin: 30px 6rem 100px;
background: url("./img/eng_index.svg") 1rem 1rem no-repeat #fff;
background-size: 16rem auto;
border-top: 2px solid #C6C6FF;
border-bottom: 2px solid #C6C6FF;
}
.mokuji .inner{
position: relative;
padding: 10px 3rem 30px;
}


.mokuji .sttl{
margin: 0;
padding: 20px 0 10px;
font-size:1.8rem;
}


.mokuji #toc{
position: relative;
padding: 0 0 0;
}

.mokuji #toc ul{
margin:0 0 20px;
padding:5px 0 5px;
}
.mokuji #toc ul li{
position: relative;
margin: 2px 0;
padding: 2px 0 2px 4.5rem;
text-align: left;
line-height: 1.4;
}
.mokuji #toc ul li.chapter-h-two{
counter-increment: count;
}
.mokuji #toc ul li.chapter-h-two::before {
content: counter(count, decimal-leading-zero)".";/*2桁対応*/
position: absolute;
top: 8px;
left: 0;
transform: translate(0,-50%);
background: none;
font-size:1.8rem;
font-weight: 700;
color: #00BE36;
}

.mokuji li a{
display: inline-block;
width: auto;
padding: 4px 0 6px;
background: none;
font-size:1.5rem;
text-decoration: none;
}
.mokuji #toc ul li.chapter-h-two a{
font-weight: 700;
}
.mokuji #toc ul ul{
margin: 0;
padding: 0 0 2px;
}
.mokuji #toc ul li.chapter-h-three {
padding: 0 0 0 9rem;
}
.mokuji #toc ul li.chapter-h-three::after {
content: "";
position: absolute;
top: -5px;
left: 6rem;
width: 18px;
height: 100%;
background: url("./img/l_deco.png") 0 6px no-repeat;
background-size: 18px auto;
}
.mokuji #toc ul li.chapter-h-three::before {
width: 0;
height: 0;
background: none;
border: none;
}

.mokuji li br{
display: none;
}


/* accordion_grd */
.mokuji .text {
height: 180px;
overflow: hidden;
}
.mokuji .show_more2 {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 70px;
padding-top: 30px;
text-align: center;
background: linear-gradient(
180deg,
rgb(255, 255, 255, 0) 0%,
rgb(255, 255, 255, 0.7) 40%
);
cursor: pointer;
transition: bottom 0.2s;
}
.mokuji .active{
/*background: none;*/
/*bottom: -20px;*/
}
.mokuji .show_more2 span{
position: relative;
top: -5px;
display: inline-block;
width: 14rem;
padding: 6px 3rem 8px;
background: url(./img/plus_bl.svg) 90% calc(50% - 1px) no-repeat;
background-size: 17px auto;
text-align: center;
line-height: 1.5;
color: #0000f0;
font-weight: 700;
font-size:1.8rem;
}
.mokuji .active span{
background: url(./img/minus_bl.svg) 90% 50% no-repeat;
background-size: 17px auto;
}








/* relations_PC */
.relations{
position: relative;
margin: 30px 6rem 100px;
background: url("./img/eng_links.svg") 1rem 1rem no-repeat #fff;
background-size: 15.5rem auto;
border-top: 2px solid #C6C6FF;
border-bottom: 2px solid #C6C6FF;
}
.relations .inner{
position: relative;
padding: 10px 3rem 30px;
}



.relations .relations-title{
margin: 0;
padding: 20px 0 10px;
font-size:1.8rem;
font-weight: 700;
}


.relations .relations-wrapper{
position: relative;
margin:0 0 10px;
padding:5px 0 5px;
}

.relations ul{
margin: 0;
padding: 0;
}
.relations ul li{
position: relative;
margin: 0 0;
padding: 1px 0 1px 4.5rem;
text-align: left;
line-height: 1.4;
}
.relations ul li::before{
left: 2rem;
width: 1.4rem;
height: 1.4rem;
background: #00BE36;
}

.relations li a{
position: relative;
display: inline-block;
width: auto;
padding: 0 4.5rem 0 0;
background: none;
font-size:1.5rem;
text-decoration: none;
font-weight: 700;
}
.relations li a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 0;
width: 2.3rem;
height: 100%;
background: url("./img/arrow_gr.svg") 0 50% no-repeat;
background-size: 2.3rem auto;
transition: all .2s ease-in-out;
}
.relations li a:hover::before{
}
.relations ul li a::after {
}
.relations ul li a:hover::after{
}
.relations li p{
margin: 10px 0;
}




/* btns_PC */
.btns{
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 0 6%;
}
.btns div{
display: flex;
width: 46%;
margin: 20px auto 10px;
}
.btns div a{
/*display: flex!important;*/
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.btns .btn-tel{
display: none;
}


/* ban_vc_PC */
.ban_vc{
position: relative;
width: 38rem;
margin: 6rem auto;
}


/* engTtl_PC */
.engTtl{position: relative;margin: 6rem 0 6rem 3.5rem;padding: 12px 3rem 13px 9rem;background: #F0F0F0;}
.engTtl::before{
content: "";
position: absolute;
top: 0;
left: -3.5rem;
width: 10.4rem;
height: 100%;
background: url("./img/eng_ck.svg") 0 50% no-repeat;
background-size: 10.4rem auto;
}
.engTtl .sttl{
margin: 0;
padding: 0;
border: none;
background: none;
font-size:2.1rem;
font-weight: 700;
line-height: 1.5;
color: #1414B4;
}
.engTtl .sttl::before{
width: 0;
height: 0;
background: none;
border: none;
}






/* sum_PC */
.sum{position: relative;margin: 6rem -6rem 0rem;padding: 50px 4rem 30px;background: url("./img/eng_sum.svg") 98% 0 no-repeat #E7E7FF;background-size: 45rem auto;}


.sum .catch{
margin: 0 0 20px;
padding: 0 0 0 3rem;
color: #1414B4;
font-size:2.5rem;
}
.sum .catch::before{
content: "";
position: absolute;
top: 3px;
left: 0;
width: 2px;
height: calc(100% - 6px);
background: #0000F0;
}






/* intv_PC */
.intv{position: relative;margin: 5 auto 5rem;}

.intv .intvBox{position: relative;margin: 5rem -6rem;padding: 40px 4rem 30px;background: url(./img/intv_bg_a.png) 0 0 no-repeat #1414B4;background-size: auto 100%;}
.intv .intvBox::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100% ;
height: 60px;
background: url("./img/eng_intv.svg") 99% 0 no-repeat;
background-size: 58rem auto;
}

.intv .imgArea{
position: absolute;
top: 25px;
left: 4rem;
width: 36rem;
}
.intv .imgArea .flame{
display: flex;
justify-content: center;
width: 36rem;
height: 26rem;
margin: 0 0 10px;
}
.intv .imgArea .flame img{
height: 100%;
object-fit: contain;
}
.intv .imgArea .tags{
margin: 0 0 2rem;
text-align: center;
}
.intv .imgArea .tag{
position: relative;
display: inline-block;
margin: 0 .5rem;
padding: 5px 1rem 7px;
background: #0000F0;
line-height: 1;
text-align: center;
font-weight: 700;
color: #fff;
}
.intv .imgArea .tag::before{
content: "#";
}

.intv .headArea{
margin: 0 0 0 40rem;
}
.intv .headArea .note{
display: inline-block;
padding: 3px .8rem;
background: #fff;
line-height: 1.2;
font-weight: 700;
color: #2900FF;
}
.intv .headArea .note .fontS{
font-size:1.3rem;
}
.intv .headArea .catch{margin-top: -3px;line-height: 1.5;color: #2900FF;font-size: 2.6rem;}
.intv .headArea .catch span{
display: inline-block;
padding: 3px 1rem;
background: #fff;
}

.intv .txtArea{
margin: 0 0 0 40rem;
color: #fff;
}
.intv .txtArea .marker{
border-bottom: 1px solid #00F546;
}
.intv .txtArea .txt_bold{
color: #00F546;
}



/* boxB */

.intv .boxB{
background-image: url(./img/intv_bg_b.png);
background-position: 100% 0;
}
.intv .boxB::before{
background-position: 0 0;
}
.intv .boxB .imgArea{
left: auto;
right: 4rem;
}
.intv .boxB .headArea{
margin: 0 40rem 0 0;
}
.intv .boxB  .txtArea{
margin: 0 40rem 0 0;
}










/* spv_PC */
.spv{position: relative;margin: 10rem -6rem 0;padding: 5rem 5rem 6rem;background: url(./img/eng_sps.svg) 50% 40px no-repeat #0D1319;background-size: auto 20rem;color: #fff;}
.spv::before{content: "";position: absolute;top: 300px;left: 0;width: 100%;height: 244px;background: #252B30;}

.spv .inner{
position: relative;
}

.spv .headArea{
position: relative;
margin: 0 0 20px;
padding: 0 0 20px;
text-align: center;
}
.spv .headArea .pos{
line-height: 1.6;
font-size:2.0rem;
font-weight: 700;
color: #848484;
}
.spv .headArea .boxTtl{line-height: 1.6;font-size: 3.2rem;font-weight: 700;}


.spv .mainArea{
position: relative;
}
.spv .imgArea{
position: absolute;
top: 0;
right: 0;
width: 36rem;
}
.spv .imgArea .flame{
/*border: 1px solid #848484;
*/}

.spv .txtArea{width: 52rem;margin: 0rem;}
.spv .txtArea .sttl{margin: 0 0 4rem;font-size: 2.2rem;}
.spv .txtArea .sttl .txt_bold{
color: #00F546;
}
.spv .txtArea .sttl .fontL{display: inline-block;margin: 10px .5rem 0;padding: 2px 1rem 3px;background: #0000F0;background: linear-gradient(90deg, rgba(0, 0, 240, 1) 0%, rgba(0, 191, 52, 1) 100%);font-size: 3rem;}
.spv .txtArea .catch{
margin: 20px 0 20px;
color: #00F546;
}

.spv .txtArea p a{
	color: #FFF;
}



/* talk_PC */
.talks{position: relative;margin: 3rem 0;}
.talk{position: relative;display: flex;flex-wrap: wrap;align-items: center;width: 100%;margin: 0 0 5rem;flex-direction: row-reverse;}
.talkB{
flex-direction:row;
}

.talk .imgArea{
width: 11.5rem;
}
.talk .imgArea .flame{
}
.talk .imgArea img{
}



.talk .txtArea{
flex: 1; 
position: relative;
padding: 30px 3rem 20px;
border: 1px solid #0000F0;
}
.talk .txtArea::before{
content: "";
position: absolute;
top: 0;
right: -2.8rem;
width: 2.8rem;
height: 100%;
background: url(./img/tri3.svg) 0 50% no-repeat;
background-size: auto 2.8rem;
}
.talkB .txtArea::before{
right: auto;
left: -2.8rem;
transform: scale(-1, 1);
}

.talk .txtArea .catch{
color: #1414B4;
}

.talk .tags{
margin: 0 0 1rem;
}
.talk .tag{
position: relative;
display: inline-block;
margin: 0 .5rem 0 0;
padding: 5px 1rem 7px;
background: #E2E2E2;
line-height: 1;
text-align: center;
font-weight: 700;
}
.talk .tag::before{
content: "#";
}

.talk .txtArea p{
line-height: 1.8;
}






/* qa_PC */
.qaWrap{
	padding: 0rem 0;
}
.qa .float-wrap{
	padding: 0rem 0 0rem;
	margin: 0 0 2rem 0;
}
.qa .sttl{
	margin: 0 0 25px;
	padding: 0 0 0 0rem;
	background: none;
	border: none;
	font-size: 2.0rem;
	color: #009F2D;
}
.qa .sttl::before{
	content: "";
	position: absolute;
	top: 16px;
	left: -6rem;
	width: 4.7rem;
	height: 2px;
	background: #00BE36;
}

.qa .txtArea{
	padding: 0 0 0;
	margin: 0 0 3rem 0;
}
.qa .txtArea .flame{
width: 35rem;
float: left;
margin: 0 4rem 0 0;
}
.qa .catch{
margin: 0 0 30px;
}
.qa .txtArea p,.qa .float-wrap p{
	margin: 0 0 15px;
	line-height: 1.8;
}





/* his_PC */
.his{
position: relative;
margin: 5rem 0 8rem;
padding: 3.5rem 0;
background: url("./img/eng_sch.svg") 50% 0 no-repeat;
background-size: auto 42px;
}

.his .sctTtl{
margin: 0 0 25px;
line-height: 1.6;
font-weight: 700;
font-size:2.0rem;
color: #0000F0;
text-align: center;
}

.his .liBox{
margin: 0 0 20px;
}
.his .liBox::before{
content: "";
position: absolute;
top: 39px;
left: 3.2rem;
width: 2px;
height: calc(100% + 20px);
background: #0000F0;
}
.his .liBox:last-child::before{
height: 0;
}

.his .sttl{
z-index: 1;
width: 6.5rem;
float: left;
margin: 39px 0 0;
padding: 6px 1rem 8px;
background: #0000F0;
background: linear-gradient(90deg, rgba(0, 0, 240, 1) 0%, rgba(0, 191, 52, 1) 100%);
line-height: 1;
font-size:1.6rem;
text-align: center;
color: #fff;
}


.his .fuki{
position: relative;
width: calc(100% - 6.5rem);
float: right;
display: flex;
padding: 5px 3rem 0 0;
background: #F0F0F0;
}
.his .fuki::before{
content: "";
position: absolute;
top: 0;
left: -2rem;
width: 2rem;
height: 100%;
background: #F0F0F0;
}


.his .fuki .catch{
width: 18rem;
padding: 35px 2rem 5px;
font-size:1.8rem;
text-align: center;
}
.his .fuki .txtArea{
width: calc(100% - 18rem);
min-height: 100px;
display: flex;
align-items: center;
}
.his .fuki .txtArea p{
margin: 0 0;
padding: 12px 0 14px;
line-height: 1.8;
}
.his .fuki .txtArea ul{
margin: 5px 0 20px;
line-height: 1.8;
}

.his .flame{
width: 34.5rem;
margin: 0 auto;
padding: 25px 0 5px;
} 
.his .flame img{
width: 34.5rem;
object-fit: cover;
}


.sitemap .pc_br{
    display:none;
}





/* End_PC */









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


/*------------
common--480px
------------*/

html{
}

.mainWrap .catch, .mainWrap .sttl,
.index .catch, .index .sttl{
font-size: 1.8rem;
}

#contents{
position: relative;
z-index: 0;
}



body{
min-width: 320px;
text-align: justify;
line-height:1.9;
word-break: break-all;
overflow-x: hidden;
}


.sp,
.sp_br{
display:block!important;
}

.pc,
.pc_br{
display:none!important;
}

img:not([width]) {
width:100%;
height:auto;
max-width: 100%;
}

a{
text-decoration: none;
}
a:hover,
a:hover img{
opacity: 1;
}

.areaInner{
width: auto;
margin: 0;
}


.fontEng{
font-size:1.2rem;
}





/* notice 30px_4% */



/*--------------------------------------
　body_SP
---------------------------------------*/
.bodyInner::before{
width: 0;
height: 0;
background: none;
border: none;
}
.bodyInner2::before{
width: 0;
height: 0;
background: none;
border: none;
}
.bodyInner2::after{
width: 0;
height: 0;
background: none;
border: none;
}





/*--------------------------------------
　header_SP
---------------------------------------*/
#header{
position: relative;
z-index: 14;
margin: 0;
background: url("./img/tmp_bg_sp.jpg") 0 0 no-repeat;
background-size: cover;
}
#header::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 55px;
background: url(./img/tmp_bg_deco1.svg) 100% 0 no-repeat;
background-size: auto 55px;
opacity: .77;
}



#header .topArea{
position: relative;
z-index: 1;
width: auto;
margin:  0 5%;
padding: 6rem 0 2rem;
text-align: left;
}


#header .siteName,
#header .siteName a{
position: relative;
font-size:1.1rem;
line-height: 1.6;
color: #fff;
}
#header .sps{
position: relative;
font-size:1.1rem;
line-height: 1.6;
color: #fff;
}

#header .logo{width: 25rem;margin: .5rem 0;}
#header .logo img{
width: 100%;
}






/*--------------------------------------
　page-top_SP
---------------------------------------*/
#page-top{
position: fixed;
z-index: 101;
bottom: 1%;
right: 2%;
width: 5.5rem;
}
#page-top{
  transition: .3s;
  /*デフォルトで非表示にする*/
  opacity: 0;
  visibility: hidden;
}
/*このクラスが付与されると表示する*/
#page-top.active{
  opacity: 1;
  visibility: visible;
}
/*このクラスが付与されると表示する*/
#page-top.absolute{
}









/*--------------------------------------
　Global Nav_SP挙動
---------------------------------------*/
#gNav{
position: fixed;
top: 0;
right: 0;
z-index: 112;

transition: .3s;
/*デフォルトで非表示にする*/
opacity: 0;
visibility: hidden;
/*opacity: 1;
visibility: hidden;*/
}
/*このクラスが付与されると表示する*/
#gNav.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると表示する*/
#gNav.absolute{
}


/*--------------------------------------
　Global Nav_SP
---------------------------------------*/

/* ハンバーガーメニュー */
#gNav #showRight{
width: 5.2rem;
position: fixed;
top: 0;
right: 0;
z-index: 10000;
}
#gNav button{
position: relative;
width: 7rem;
height: 4.4rem;
transition: all .2s ease-in-out;
}
#gNav button::before, #gNav button::after{
content: "";
display: block;
width: 70%;
border-top: 2px solid #00BF34;
position: absolute;
top: 40%;
left: 15%;
transition: .3s all;
}
#gNav button::after{
top: 57%;
}
#gNav button.active::before{
top: 50%;
transform: rotate(15deg);
}
#gNav button.active::after{
top: 50%;
transform: rotate(-15deg);
}

/*#gNav button.active{
background: url(./img/sp-btn-menu_off.png) 0 0 no-repeat;
background-size: 5.2rem auto;
}
#gNav button.active img{
opacity: 0;
}
*/

/* General styles for all menus */
.cbp-spmenu {
position: fixed;
margin: 4.4rem 0 0;
padding: 3rem 5% 0;
background: #0d1319;

overflow: auto;
-ms-overflow-style: none; /* IE, Edge 対応 */
scrollbar-width: none;/* Firefox 対応 */
}


.cbp-spmenu #mainMenu{
position: relative;
z-index: 1;
/*overflow: auto;*/
overflow: visible;
margin: 0 0;
padding: 20px 0 70px;
height: 100%;
}

.cbp-spmenu #mainMenu::-webkit-scrollbar{
display: none;/* Chrome, Safari 対応 */
}


.cbp-spmenu a {
display: block;
padding: 14px 10% 14px;
text-decoration: none;
line-height: 1.3;
font-size:1.4rem;
}
.cbp-spmenu li a {
padding: 16px 10% 16px;
}
.cbp-spmenu .sttl{
margin: 0;
font-size:1.6rem;
letter-spacing: 0;
}

.cbp-spmenu .sttl a {
background: url(./img/arrow_gr.svg) calc(100% - 1rem) 50% no-repeat;
background-size: 1.6rem auto;
}


.cbp-spmenu .sttl.tglMenu{
position: relative;
}
.cbp-spmenu .sttl.tglMenu::before{
content: "";
position: absolute;
top: calc(50% - 1.1rem);
right: 6px;
width: 2.2rem;
height: 2.2rem;
border-radius:50%;
background: #00BE36;
}


.cbp-spmenu .sttl.tglMenu a {
background: none;
}
.cbp-spmenu .sttl.tglMenu a::before {
content: '';
display: inline-block;
width: 1.4rem;
height: .2rem;
background-color: #fff;
position: absolute;
right: 1.0rem;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
.cbp-spmenu .sttl.tglMenu a::after {
content: '';
display: inline-block;
width: 1.4rem;
height: .2rem;
background-color: #fff;
position: absolute;
right: 1.0rem;
top: 50%;
transform: translateY(-50%) rotate(-90deg);
transition: transform .5s;
}
.cbp-spmenu .sttl.open a::before {
opacity: 0;
}
.cbp-spmenu .sttl.open a::after {
transform: translateY(-50%) rotate(-180deg);
}



.cbp-spmenu .home a {
background: url(./img/arrow_gr.svg) calc(100% - 1rem) 50% no-repeat;
background-size: 1.6rem auto;
}
.cbp-spmenu .subList a{
padding: 14px 10% 14px calc(5% + 2em);
font-weight: 400;
}

.cbp-spmenu li a {
background: url(./img/arrow_gr.svg) calc(100% - 1rem) 50% no-repeat;
background-size: 1.6rem auto;
padding: 14px 10% 14px 2%;
font-weight: 400;
}



.cbp-spmenu a:hover {
opacity: 1;
}
.cbp-spmenu a:active {
}

/* Orientation-dependent styles for the content of the menu */
.cbp-spmenu-vertical {
/*width: calc(100% - 100px);*/
width: 100%;
height: 100%;
top: 0;
z-index: -1;
}
.cbp-spmenu-vertical a {
/*border-bottom: 1px solid rgba(255, 255, 255, .8);*/
padding: 16px 11% 16px 0;
}
.cbp-spmenu-vertical .home a {
/*border-bottom: 1px solid rgba(255, 255, 255, .8);*/
}
.cbp-spmenu-vertical .smap .home a {
border-top:none;
}



/* Vertical menu that slides from the left or right */
.cbp-spmenu-right {
opacity: 0;
right: -100%;
/*right: -280px;*/
/*right: 0;*/
}
.cbp-spmenu-right.cbp-spmenu-open {
opacity: 1;
right: 0;
z-index: 1000;
}


/* Transitions */
.cbp-spmenu,
.cbp-spmenu-push {
transition: all 0.3s ease;
}

#gNav .accChild {
display: none;
}

body.body-fix{
overflow: hidden;
}


/* btns */
.cbp-spmenu .btns{
width: 100%;
margin: 0 auto 10px;
padding: 0;
}
.cbp-spmenu .btns div{
width: 100%;
margin: 20px 0 10px;
}
.cbp-spmenu .btns div a{
padding: 10px 5rem 12px 3rem;
font-size:1.4rem;
}



/*--------------------------------------
　fixNav_SP
---------------------------------------*/

#fixNav{
position: fixed;
z-index: 110;
top: 0;
left: 0;
width: 100%;
min-width: 32rem;
min-height: 4.4rem;
background: #fff;
border-bottom: 1px solid #707070;
border-top: 1px solid #707070;

transition: .3s;
/*デフォルトで非表示にする*/
opacity: 0;
visibility: hidden;
}
/*このクラスが付与されると表示する*/
#fixNav.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると停止する*/
#fixNav.absolute{
/*opacity: 0;
visibility: hidden;*/
}



#fixNav .btn-web{
position: fixed;
top: auto;
bottom: 0;
right: auto;
left: 0;
width: 30rem;
height: auto;
margin: 0;
display: flex;
align-items: center;
}
#fixNav .btn-web a{
width: 100%;
min-height: 0;
padding: 10px 5rem 12px 3rem;
font-size:1.2rem;
}



#fixNav .btnArea{
position: absolute;
top: 5px;
right: auto;
left: .5rem;
width: calc(100% - 7rem);
display: flex!important;
flex-wrap: wrap;
align-items: flex-start;
justify-content: space-between;
}

#fixNav .btnArea a{
display: flex;
align-items: center;
justify-content: center;
min-height: 0;
margin: 0 .5rem;
padding: 6px .5rem 8px;
font-size:1.3rem;
font-weight: 700;
line-height: 1.3;
text-align: center;
}





/*--------------------------------------
Main Contents_SP
---------------------------------------*/

#contents {
position: relative;
z-index: 14;
width: 100%;
overflow-x: hidden;
padding: 0 0 2rem;
}

.mainWrap {
position: relative;
z-index: 1;
padding: 0 0 2rem;
min-height: 0;
width: auto;
float: none;
}


.mainWrap > .areaInner{
background: #fff;
}
.mainWrap .areaInner2{
padding: 0 0 1rem;
}


/*--------------------------------------
pankuzu_SP
---------------------------------------*/

#pankuzuWrap{
overflow: auto;
white-space: nowrap;
margin: 0 0 0;
padding: 10px 3% 0;
position: static;
box-sizing: border-box;
width: auto;
}
#pankuzuWrap::-webkit-scrollbar{
height: 3px;
}
#pankuzuWrap::-webkit-scrollbar-track{
border-radius: 3px;
background: #eee;
}
#pankuzuWrap::-webkit-scrollbar-thumb{
border-radius: 3px;
background: #bbb;
}

#pankuzu{
width: 100%;
margin: 0 auto 10px;
padding: 0 0;
font-size:1.1rem;
}
#pankuzu a{
text-decoration: underline;
}




/*--------------------------------------
　h1Area_SP
---------------------------------------*/
.h1Area{
position: relative;
z-index: 2;
margin: 0 0 0;
padding: 40px 5% 20px;
}

.h1Area h1{position: relative;display: inline;margin: 0 0 8px;padding: 0 2px;background: #1414b4;font-size:2.5rem;line-height: 1.4;color: #fff;}

.h1Area .headNote{
margin: 10px 0 0;
line-height: 1.5;
font-size:1.1rem;
color: #1414B4;
}






/*--------------------------------------
　about_SP
---------------------------------------*/

.about{
position: relative;
z-index: 15;
width: auto;
margin: 0 5% -5rem;
}
.about .inner{
padding: 8rem 5% 2rem;
background: url(./img/eng_about_sp.svg) 50% 0 no-repeat #606060;
background-size: auto 6.3rem;
}
.about .logo{
position: relative;
top: 0;
left: calc(50% - 10rem);
width: 20rem;
margin: 0 0 20px;
}
.about .txtArea{
margin: 0 5%;
color: #fff;
}
.about .btn-link{
margin: 1rem 0 1rem;
}
.about .btn-link a{
background: url(./img/arrow_wt.svg) 99% calc(50% - 0px) no-repeat;
background-size: 2rem auto;
color: #fff;
}



/*--------------------------------------
　Footer_SP
---------------------------------------*/

footer{
position: relative;
z-index: 14;
width: 100%;
background: #0d1319;
}


footer .footInner{
position: relative;
width: auto;
margin: 0;
padding: 8rem 0 0;
}




footer .footInner .areaR{
width: auto;
float: none;
}

footer a{
line-height: 1.4;
font-size: 1.3rem;
}


footer .footBox{
position: relative;
z-index: 9;
margin: 0 5% 0;
text-align: left;
}
.footBox:first-of-type{
border-top: 1px solid rgba(255, 255, 255, .8);
}
.footBox a{
}
.footBox a:hover{
opacity: 1;
}


.footBox .sttl{
margin: 0;
padding: 0;
border: none;
background: none;
}
.footBox .sttl.tglMenu::before {
    content: "";
    position: absolute;
    top: calc(50% - 1.1rem);
    right: 6px;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background: #00BE36;
}
.footBox .sttl a{
display: block;
padding: 1.2em 10% 1.3em 0;
font-size: 1.5rem;
background: none;
border-bottom: 1px solid rgba(255, 255, 255, .8);
text-align: left;
letter-spacing: 0;
}

.footBox .sttl a::before {
content: '';
display: inline-block;
width: 1.4rem;
height: .2rem;
background-color: #fff;
position: absolute;
right: 1.0rem;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
.footBox .sttl a::after {
content: '';
display: inline-block;
width: 1.4rem;
height: .2rem;
background-color: #fff;
position: absolute;
right: 1.0rem;
top: 50%;
transform: translateY(-50%) rotate(-90deg);
transition: transform .5s;
}


.footBox > ul{
padding: 0;
}
.footBox li{
display: block;
}


.footBox li:after{
content: "";
}

.footBox li a{
display: block;
padding: 1.3em 10% 1.3em 4%;
background: url(./img/arrow_gr.svg) calc(100% - 1rem) 50% no-repeat;
background-size: 1.6rem auto;
/*border-bottom: 1px solid #d5cec2;*/
text-align: left;
font-size:1.3rem;
}
.footBox li li a{
padding: 1.3em 7% 1.3em 6%;
}
 
 
.footBox li a.ssttl{
display: block;
padding: 1.3em 10% 1.3em 2%;
background: url(./img/arrow_gr.svg) calc(100% - 1rem) 50% no-repeat;
background-size: 1.6rem auto;
/*border-bottom: 1px solid #d5cec2;*/
}

.footBox li.sp a{
padding: 1.3em 10% 1.3em 2%;
}

/* サイトマップ */
footer .smap .sttl a{
background: url(./img/arrow_gr.svg) calc(100% - 1rem) 50% no-repeat;
background-size: 1.6rem auto;
font-size:1.4rem;
}
footer .smap .sttl a::before,
footer .smap .sttl a::after{
width: 0;
height: 0;
background: none;
border: none;
}



.footBox.accordion .accChild{
display: none;
/*background: #d2ebee;*/
}
.footBox.accordion .accChild a{
background: url(./img/arrow_gr.svg) calc(100% - 1rem) 50% no-repeat;
background-size: 1.6rem auto;
/*border-bottom: 1px solid #d5cec2;*/
}


.footBox.accordion .open a::before {
opacity: 0;
}
.footBox.accordion .open a::after {
transform: translateY(-50%) rotate(-180deg);
}


.footBox li.subCat{
display: block;
margin: 0 0 0 0;
}

.footBox ul.subList{
display: block;
margin: 0 0 0;
}

.footBox ul.subList > li:first-child::before{
content: "";
margin: 0;
}

.footBox ul.subList li:after{
content: "";
}





footer .noticeArea{
width: auto;
float: none;
margin: 20px 5% 20px;
padding: 5px 3% 20px;
color: #fff;
}
footer .noticeArea p{
font-size:1.1rem;
text-align: center;
}

footer .noticeArea a{
color: #fff;
text-decoration: underline;
font-size:1.1rem;
}

footer .noticeArea .botPrg{
padding: 0 0 0;
}
footer .noticeArea .topPrg{
position: static;
width: auto;
margin: 0 0 20px;
padding: 14px 5% 16px;
background: #606060;
text-align: left;
}


footer .botArea{
min-width: 0;
padding: 10px 5% 7.2rem;
box-sizing: border-box;
background: #0000F0;
text-align: center;
}
footer .botArea .botInner{
position: relative;
width: auto;
margin: 0;
}
footer .botArea .copy{
padding: 0 0;
font-size:1.1rem;
text-align: center;
line-height: 1.6;
color: #fff;
}
footer .botArea .copy a{
text-decoration: none;
color: #fff;
}
footer .botArea .smapLink{
display: none;
}



/* ================== */
/*  SP共通パーツ　*/
/* ================== */

/* p */
.mainWrap p, .index p{
margin: 1rem 0;
line-height: 1.9;
}
.mainWrap .areaInner2 > p, .index > .areaInner > p{
padding: 0 5%;
}



.mainWrap h2 {position: relative;margin: 40px 5% 20px;padding: 17px 4% 17px;background: url(./img/tri1.svg) 0 0 no-repeat #00641c;background-size: 3.4rem auto;font-size:2.2rem;color: #fff;}
.mainWrap h2::before {
}

.mainWrap h2 a{
position: relative;
display: block;
padding: 0 10% 0 0;
color: #fff;
}
.mainWrap h2 a::before{
content: "";
z-index: 10;
top: 0;
right: 0;
width: 2rem;
height: 100%;
background: url("./img/arrow_wt.svg") 99% calc(50% + 1px) no-repeat;
background-size: 2rem auto;
transition: all .2s ease-in-out;
}
.mainWrap h2 a:hover::before{
}
.mainWrap h2 a::after{
}
.mainWrap h2 a:hover::after{
}






.mainWrap h3{position: relative;margin: 5px 5%  10px;padding: 12px 3% 14px 10%;border-bottom: 2px solid #E2E2E2;font-size:2.0rem;color: #1414B4;}
.mainWrap h3::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 2.0rem;
height: 100%;
background: url(./img/tri2.svg) 0 50% no-repeat;
background-size: 2.0rem auto;
}
.mainWrap h3 a{
position: relative;
z-index: 1;
display: block;
padding: 0 10% 0 0;
}
.mainWrap h3 a::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 2rem;
height: 100%;
background: url("./img/arrow_gr.svg") 99% calc(50% + 1px) no-repeat;
background-size: 2rem auto;
transition: all .2s ease-in-out;
}
.mainWrap h3 a:hover::before{
}
.mainWrap h3 a::after{
}
.mainWrap h3 a:hover::after{
}






.mainWrap h4, .mainWrap h5, .mainWrap h6{
position: relative;
margin: 20px 5%;
padding: 10px 3% 10px 5%;
font-size:2.0rem;
}
.mainWrap h4::before, .mainWrap h5::before, .mainWrap h6::before{
content: "";
position: absolute;
top: 15px;
left: 0;
width: .3rem;
height: calc(100% - 30px);
background: #00BE36;
}

.mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
position: relative;
display: inline-block;
padding: 0 10% 0 0;
}
.mainWrap h4 a::before, .mainWrap h5 a::before, .mainWrap h6 a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 0;
width: 1.8rem;
height: 100%;
background: url("./img/arrow_gr.svg") 99% calc(50% + 1px) no-repeat;
background-size: 1.8rem auto;
transition: all .2s ease-in-out;
}









.mainWrap ul{
margin: 3rem 4%;
padding:0.5em 1% 0;
}
.mainWrap ul li{
padding:0 0 .4rem 1.7rem;
}
.mainWrap ul li::before,
.index ul li::before{
position: absolute;
content: "";
top: 1.1rem;
left: .2rem;
width: .7rem;
height: .7rem;
}


.mainWrap ol {
margin: 3rem 4%;
padding:0.5em 1% 0;
}
.mainWrap ol li{
padding:0 0 .4rem 2.5rem;
}

.mainWrap ol li::before{
width: 1.6rem;
height: 1.7rem;
top: .7rem;
left: 0;
box-sizing: border-box;
padding: 0.13em 0 0;
letter-spacing: 0;
line-height: 1.0;
font-size:1.3rem;
}







/*  btns*/
.btn-internal,
.btn-web,
.btn-web2,
.btn-tel{
position: relative;
z-index: 1;
width: 90%;
display: flex;
align-items: center;
justify-content: center;
margin: 2rem auto;
text-align: center;
}


.btn-internal a,
.btn-web a,
.btn-web2 a,
.btn-tel a{position: relative;top:0;left: 0;width: 100%;min-height: 7.7rem;display: flex;align-items: center;justify-content: center;margin: 0rem 0 0;padding: 1.2rem 10% 1.4rem 9%;background-color: #00BE36;background-image: linear-gradient(135deg, #43DE6F 50%, transparent 50%);background-position: 100%;background-size: 300%;text-align: center;line-height: 1.5;font-weight: 700;color: #fff;transition: all .4s ease-in-out;overflow: hidden;}

.btn-internal a::before,
.btn-web a::before,
.btn-web2 a::before{content: "";position: absolute;z-index: 10;top: calc(50% - 1rem);right: 1.2rem;width: 2rem;height: 2rem;background: url("./img/arrow_ccl_wt.svg") 99% 0 no-repeat;background-size: 2rem auto;transition: all .4s ease-in-out;transform-origin: center right;}
.btn-internal a:hover,
.btn-web a:hover{
opacity: 1;
background-position: 100%;
}


.btn-internal a:hover:before,
.btn-web a:hover:before,
.btn-web2 a:hover:before{
transform: scale(1, 1);
}

.btn-internal a{
}


.btn-web a{
background-color: #EA8643;
background-image: linear-gradient(135deg, #F1AA7B 50%, transparent 50%);
}
.btn-web a::before{
background-image: url("./img/arrow_ccl_wt2.svg");
}


.btn-web2 a{
background-color: #0000F0;
background-image: linear-gradient(135deg, #5959FE 50%, transparent 50%);
}
.btn-web2 a::before{
background-image: url("./img/arrow_ccl_wt2.svg");
}
.btn-web2 a::after{content: "";position: absolute;top: 0;left: 1rem;width: 2.2rem;height: 100%;background: url(./img/icon_vc.svg) 0 50% no-repeat;background-size: 2.2rem auto;}


.btn-tel{
display: block;
}
.btn-tel a{
background-color: #0000F0;
color: #fff;
}
.btn-tel a::before {
position: absolute;
top: 0;
left: 1.6rem;
width: 1.9rem;
height: 100%;
background: url(./img/ico_tel.svg) 0 50% no-repeat;
background-size: 19px auto;
}



.btn-link{
margin: 20px 5%;
text-align: right;
}
.btn-link a{
position: relative;
display: inline-block;
padding: 4px 3rem 5px 0;
background: url("./img/arrow_gr2.svg") 99% calc(50% - 0px) no-repeat;
background-size: 2rem auto;
line-height: 1.5;
font-weight: 700;
text-align: right;
text-decoration: underline;
}





/* ================== */
/*  テーブル　　　　　*/
/* ================== */

table{
width: 88%;
margin:3rem auto;
border-bottom: 1px solid #a0a0a0;
}
table th {
width: 100%;
display: block;
padding: 1.5rem 2rem;
border-bottom: none;
line-height: 1.3;
text-align: center;
font-size:1.5rem;
}
table td {
width: 100%;
display: block;
padding: 1.5rem 2rem;
border-bottom: none;
line-height: 1.4;
text-align: center;
font-size:1.4rem;
}


.tableB .tblWrap{
overflow: auto;
width: 88%;
margin: 0 auto;
}
.tableB .note{
padding: 0 5%;
text-align: center;
color: #999999;
font-size:1.3rem;
}
.tableB table{
margin:10px auto;
}
.tableB table th {
white-space: nowrap;
width: 22%;
display: table-cell;
}
.tableB table td {
display: table-cell;
white-space: nowrap;
}

.tableB .scroll-hint-icon {
top: calc(50% - 40px);
left: calc(50% - 60px);
}


/* ================== */
/*  SPカスタマイズ共通　*/
/* ================== */
.caption,
.source{margin: 0.8em 1rem;font-size:1.0rem;line-height: 1.3;word-break: break-all;color: #999;}
.caption a:hover{
text-decoration: underline;
}


.marker{
}



/*  float-wrap */

.mainWrap .float-wrap .flame{
position: relative;
}
.mainWrap .float-wrap .caption{
margin-bottom: 5px;
}
.mainWrap .float-wrap{margin: 1em 5%;padding: 0 0%;}
.mainWrap .float-wrap .catch{
margin: 0em 0 0.4em;
line-height: 1.7;
}
.mainWrap .float-wrap p{
margin: 1rem 0;
padding: 0;
}
.float-wrap ul{
display: block;
margin: 6px 0;
}
.mainWrap .float-wrap .fl,
.mainWrap .float-wrap .fr,
.mainWrap .float-wrap .ct{
float: none;
padding: 0 0 0.5em;
width: 100%;
width: auto;
text-align: left;
}

.mainWrap .float-wrap .fl.t_small{
width: 40%;
float: left;
padding: 0 5% 0 0;
}
.mainWrap .float-wrap .fr.t_small{
width: 40%;
float: right;
padding: 0 0 0 5%;
}
.mainWrap .float-wrap img {
}






/* ================== */
/*  サイトマップ*/
/* ================== */
.smap h2{
}
.smap ul{
}




/* ================== */
/*  追加パーツ*/
/* ================== */


/*--------------------------------------
　mokuji_SP
---------------------------------------*/

.mokuji{
transition: .3s;
/*デフォルトで非表示にする*/
opacity: 1;
/*visibility: hidden;*/
}
/*このクラスが付与されると表示する*/
.mokuji.active{
opacity: 1;
visibility: visible;
}
/*このクラスが付与されると停止する*/
.mokuji.absolute{
}



.mokuji{
position: relative;
width: auto;
margin: 20px 5% 60px;
background: url("./img/eng_index.svg") 1rem 1rem no-repeat #fff;
background-size: 16rem auto;
border-top: 2px solid #C6C6FF;
border-bottom: 2px solid #C6C6FF;
}

.mokuji .inner{position: relative;padding: 10px 5% 41px;}


.mokuji .sttl{
padding: 15px 0 14px;
font-size:1.8rem;
}


.mokuji #toc{
position: relative;
padding: 0 0 3rem;
}

.mokuji #toc ul{
margin:0;
padding:5px 0 5px;
}
.mokuji #toc ul li{
position: relative;
margin: 2px 0;
padding: 2px 0 2px 4rem;
text-align: left;
line-height: 1.4;
}
.mokuji #toc ul li.chapter-h-two{
counter-increment: count;
}
.mokuji #toc ul li.chapter-h-two::before {
content: counter(count, decimal-leading-zero)".";/*2桁対応*/
position: absolute;
top: 6px;
left: 0;
width: 4rem;
transform: translate(0,-50%);
background: none;
font-size:1.8rem;
font-weight: 700;
color: #00BE36;
}

.mokuji li a{
display: inline-block;
width: auto;
padding: 4px 0 6px;
background: none;
font-size:1.4rem;
text-decoration: none;
}
.mokuji #toc ul li.chapter-h-two a{
font-weight: 700;
}
.mokuji #toc ul ul{
margin: 0;
padding: 0 0 2px;
}
.mokuji #toc ul li.chapter-h-three {
padding: 0 0 0 7.5rem;
}
.mokuji #toc ul li.chapter-h-three::after {
content: "";
position: absolute;
top: -10px;
left: 5rem;
width: 18px;
height: 100%;
background: url("./img/l_deco.png") 0 6px no-repeat;
background-size: 18px auto;
}
.mokuji #toc ul li.chapter-h-three::before {
width: 0;
height: 0;
background: none;
border: none;
}

.mokuji li br{
display: none;
}


/* accordion_grd */
.mokuji .text {
height: 190px;
overflow: hidden;
}
.mokuji .show_more2 {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 80px;
padding-top: 44px;
text-align: center;
background: linear-gradient(
180deg,
rgb(255, 255, 255, 0) 0%,
rgb(255, 255, 255, 0.7) 40%
);

cursor: pointer;
transition: bottom 0.2s;
}
.mokuji .active{
/*background: none;*/
/*bottom: -20px;*/
}
.mokuji .show_more2 span{position: relative;top: -5px;display: inline-block;width: 14rem;padding: 4px 3rem 8px;background: url(./img/plus_bl.svg) 90% calc(50% - 1px) no-repeat;background-size: 17px auto;text-align: center;line-height: 1.5;color: #0000f0;font-weight: 700;font-size:1.8rem;}
.mokuji .active span{
background: url(./img/minus_bl.svg) 90% 50% no-repeat;
background-size: 17px auto;
}








/* relations_SP */
.relations{
position: relative;
width: auto;
margin: 10px 5% 70px;
background: url("./img/eng_links.svg") 0 1rem no-repeat #fff;
background-size: 16rem auto;
border-top: 2px solid #C6C6FF;
border-bottom: 2px solid #C6C6FF;
}

.relations .inner{
position: relative;
padding: 10px 0 10px;
}


.relations .relations-title{
padding: 25px 0 0;
font-size:1.8rem;
}


.relations .relations-wrapper{
position: relative;
padding: 0 0 10px;
}

.relations ul{
margin:0;
padding: 0;
}
.relations ul li{
position: relative;
margin: 2px 0;
padding: 0 0 0 2rem;
text-align: left;
line-height: 1.4;
}
.relations ul li::before{
top: 13px;
left: 0;
width: .9rem;
height: .9rem;
background: #00BE36;
}


.relations li a{
display: inline-block;
width: auto;
padding: 2px 0 3px;
padding: 0 4.5rem 0 0;
background: none;
font-size:1.4rem;
text-decoration: none;
}
.relations li a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 0;
width: 2.3rem;
height: 100%;
background: url("./img/arrow_gr.svg") 0 50% no-repeat;
background-size: 2.3rem auto;
transition: all .2s ease-in-out;
}
.relations li p{
margin: .8rem 0;
line-height: 1.4;
}




/* btns_SP */
.btns{
display: block;
padding: 0 ;
}
.btns div{
display: flex;
width: 90%;
margin: 2.5rem auto;
}
.btns div a{
display: flex;
align-items: center;
justify-content: center;
width: 100%;
}
.btns .btn-tel{
display: none;
}



/* ban_vc_PC */
.ban_vc{
position: relative;
width: auto;
margin: 6rem 5%;
}




/* engTtl_SP */
.engTtl{
position: relative;
margin: 5rem 5%;
padding:2.5rem 5%;
background: #F0F0F0;
}
.engTtl::before{
content: "";
position: absolute;
top: -1.3rem;
left: 0;
width: 100%;
height: 2.6rem;
background: url("./img/eng_ck.svg") 50% 0 no-repeat;
background-size: auto 2.6rem;
}
.engTtl .sttl{
margin: 0;
padding: 0;
border: none;
background: none;
font-size:2.0rem;
font-weight: 700;
line-height: 1.5;
color: #1414B4;
}
.engTtl .sttl::before{
width: 0;
height: 0;
background: none;
border: none;
}



/* sum_SP */
.sum{
position: relative;
margin: 7.5rem 0;
padding: 50px 5% 20px;
background: url("./img/eng_sum.svg") 98% 0 no-repeat #E7E7FF;
background-size: 28rem auto;
}

.sum .catch{
margin: 0 0 20px;
padding: 0 0 0;
color: #1414B4;
font-size:1.8rem;
}
.sum .catch::before{
content: "";
position: absolute;
top: 3px;
left: -6%;
width: 2px;
height: calc(100% - 6px);
background: #0000F0;
}

.sum .txtArea{
padding: 0 5%;
}

.sum .btns div {
width: 100%;
}




/* intv_SP */
.intv{position: relative;margin: 8rem 5% 5rem;}

.intv .intvBox{position: relative;margin: 2rem 0;padding: 0 0 20px;background: #1414B4;}
.intv .intvBox::before{
content: "";
position: absolute;
top: -6.5rem;
left: 0;
width: 100% ;
height: 3rem;
background: url("./img/eng_intv_sp.svg") 50% 0 no-repeat;
background-size: auto 3rem;
}

.intv .imgArea{
position: relative;
top: -4rem;
left: 0;
width: auto;
margin: 0 0 -4rem;
}
.intv .imgArea .flame{
display: flex;
justify-content: center;
width: 100%;
height: 18rem;
margin: 0 0 10px;
}
.intv .imgArea .flame img{
height: 100%;
object-fit: contain;
}
.intv .imgArea .tags{margin: 0 5% 2rem;text-align: center;}
.intv .imgArea .tag{
position: relative;
display: inline-block;
margin: 0 1rem 0 0;
padding: 3px 1rem 5px;
background: #0000F0;
line-height: 1;
text-align: center;
font-size:1.3rem;
font-weight: 700;
color: #fff;
}
.intv .imgArea .tag::before{
content: "#";
}

.intv .headArea{
margin: 0 5% 0;
}
.intv .headArea .note{
display: inline-block;
padding: 3px .8rem;
background: #fff;
line-height: 1.2;
font-weight: 700;
color: #2900FF;
}
.intv .headArea .note .fontS{
font-size:1.3rem;
}
.intv .headArea .catch{
margin-top: -3px;
line-height: 1.8;
font-size:1.7rem;
color: #2900FF;
}
.intv .headArea .catch span{
display: inline-block;
padding: 3px 1rem;
background: #fff;
}

.intv .txtArea{
margin: 0 5% 0;
color: #fff;
}
.intv .txtArea .marker{
border-bottom: 1px solid #00F546;
}
.intv .txtArea .txt_bold{
color: #00F546;
}


/* boxB */

.intv .boxB{
background-image: none;
}
.intv .boxB::before{
background-position: 50% 0;
}
.intv .boxB .imgArea{
left: 0;
right: auto;
}
.intv .boxB .headArea{
margin: 0 5% 0;
}
.intv .boxB  .txtArea{
margin: 0 5% 0;
}




/* spv_SP */
.spv{
position: relative;
margin: 6rem 0;
padding: 6.5rem 5% 3rem;
background: url(./img/eng_sps.svg) 50% 30px no-repeat #0D1319;
background-size: auto 7rem;
color: #fff;
}
.spv::before{
content: "";
position: absolute;
top: 40rem;
left: 0;
width: 100%;
height: 50rem;
background: #252B30;
}

.spv .inner{
position: relative;
}

.spv .headArea{
position: relative;
margin: 0 0 15px;
padding: 0 0 15px;
text-align: center;
}
.spv .headArea .pos{
line-height: 1.6;
font-size:1.6rem;
font-weight: 700;
color: #848484;
}
.spv .headArea .boxTtl{
line-height: 1.6;
font-size:2.5rem;
font-weight: 700;
}


.spv .mainArea{
position: relative;
}
.spv .imgArea{
position: static;
width: auto;
margin: 0 0 20px;
}
.spv .imgArea .flame{
/*border: 1px solid #848484;*/
}

.spv .txtArea{
width: auto;
margin: 0 0 8rem;
}
.spv .txtArea .sttl{
margin: 0 0 35px;
font-size:2.3rem;
}
.spv .txtArea .sttl .txt_bold{
color: #00F546;
}
.spv .txtArea .sttl .fontL{
display: inline-block;
margin: 10px .5rem 0;
padding: 2px 1rem 3px;
background: #0000F0;
background: linear-gradient(90deg, rgba(0, 0, 240, 1) 0%, rgba(0, 191, 52, 1) 100%);
font-size:2.7rem;
}
.spv .txtArea .catch{
margin: 20px 0 20px;
font-size:2.0rem;
color: #00F546;
}
.spv .btn-web,
.spv .btn-internal{/* width: 100%; */}






/* talk_SP */
.talks{
position: relative;
margin: 6rem 5%;
}
.talk{
position: relative;
display: block;
width: 100%;
margin: 0 0 40px;
}
.talkB{
}

.talk .imgArea{position: absolute;top: -32px;right: 42%;width: 5rem;z-index: 1;}
.talkB .imgArea{right: auto;left: 42%;}
.talk .imgArea .flame{
}
.talk .imgArea img{
}



.talk .txtArea{flex: 1;position: relative;padding: 73px 5% 20px;border: 1px solid #0000F0;}
.talk .txtArea::before{
width: 0;
height: 0;
background: none;
border: none;
}
.talkB .txtArea::before{
width: 0;
height: 0;
background: none;
border: none;
}


.talk .txtArea .catch{margin: 0 0 20px;padding: 0 0rem 0 0;font-size:2.0rem;color: #1414B4;}
.talkB .txtArea .catch{padding: 0 0 0 0rem;}


.talk .tags{
margin: 0 0 2rem;
}
.talk .tag{
position: relative;
display: inline-block;
margin: 0 1rem 0 0;
padding: 5px 1rem 7px;
background: #E2E2E2;
line-height: 1;
text-align: center;
font-weight: 700;
}
.talk .tag::before{
content: "#";
}

.talk .txtArea p{
line-height: 1.8;
}




/* qa_SP */
.qaWrap{
padding: 1rem 5%;
}
.qa{padding: 2rem 0 1rem;}
.qa .sttl{margin: 0 0 25px;padding: 0 0 0 4rem;background: none;border: none;font-size: 1.7rem;color: #009F2D;}
.qa .sttl::before{content: "";position: absolute;top: 13px;left: 0;width: 2.7rem;height: 2px;background: #00BE36;}

.qa .txtArea{padding: 0 0 0;margin: 0;}
.qa .txtArea .flame{width: 100%;float: left;margin: 0 0 2rem;}
.qa .catch{
margin: 0 0 20px;
}
.qa .txtArea p{
margin: 0;
line-height: 1.8;
}

.qa .float-wrap{
	padding: 2rem 0 0rem;
	margin: 0 0 2rem 0;
}



/* his_SP */
.his{
position: relative;
margin: 3rem 0 4rem;
padding: 2.8rem 5% 1rem;
background: url("./img/eng_sch.svg") 50% 0 no-repeat;
background-size: auto 2.8rem;
}

.his .sctTtl{
margin: 0 0 20px;
line-height: 1.6;
font-weight: 700;
font-size:1.8rem;
color: #0000F0;
text-align: center;
}

.his .liBox{
margin: 0 0 10px;
}
.his .liBox::before{content: "";position: absolute;z-index: 1;top: 14px;left: 0;width: 2px;height: calc(100% + 20px);background: #F0F0F0;}
.his .liBox:last-child::before{content: "";position: absolute;z-index: 1;top: 14px;left: 0;width: 2px;height: calc(100% - 20px);background: #F0F0F0;}


.his .sttl{
position: absolute;
z-index: 1;
top: 14px;
width: 6.5rem;
float: none;
margin: 0 0 0;
padding: 6px 1rem 8px;
background: #0000F0;
background: linear-gradient(90deg, rgba(0, 0, 240, 1) 0%, rgba(0, 191, 52, 1) 100%);
line-height: 1;
font-size:1.6rem;
text-align: center;
color: #fff;
}


.his .fuki{
position: relative;
width: auto;
float: none;
display: block;
padding: 0 0 0;
background: none;
}
.his .fuki::before{
width: 0;
height: 0;
background: none;
border: none;
}


.his .fuki .catch{
width: auto;
margin: 0 0 5px;
padding: 14px 5% 16px;
background: #F0F0F0;
font-size:1.8rem;
text-align: center;
}
.his .fuki .txtArea{
width: auto;
min-height: 0;
display: block;
padding: 0 0 0 6%;
}
.his .fuki .txtArea p{
margin: 0 0;
padding: 8px 0 10px;
line-height: 1.8;
}
.his .fuki .txtArea ul{
margin: 5px 0 20px;
line-height: 1.8;
}

.his .flame{
width: 34.5rem;
margin: 0 auto;
padding: 25px 0 5px;
} 
.his .flame img{
width: 34.5rem;
object-fit: cover;
}








}
/* End_SP */



.voicebnr {
		margin: 3rem auto;
		width: 38rem;
}
@media screen and (max-width: 767px) {
		.voicebnr {
				width: 90%;
		}
}
.voicebnr .bnr-voice {
		border: 2px solid #0000f0;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
}
.voicebnr .bnr-voice .bnr-txt {
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.25;
		font-weight: 700;
		background: #0000f0;
		padding: 1.1rem 1rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		color: #ffffff;
}
@media screen and (max-width: 480px)  {
		.voicebnr .bnr-voice .bnr-txt {
				padding: 1.5rem 1rem;
				color: #ffffff;
		}
}
.voicebnr .bnr-voice .bnr-img {
		position: relative;
		background: #fff;
		display: block;
		padding: 1.9rem 6.7rem 1.9rem 5rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
}
.voicebnr .bnr-voice .bnr-img:before, .voicebnr .bnr-voice .bnr-img:after {
		position: absolute;
		right: 0.9rem;
		top: 50%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
		display: block;
		content: "";
}
.voicebnr .bnr-voice .bnr-img:before {
		right: 1.95rem;
		background: url("img/arrow_gr.svg") no-repeat center center;
		background-size: 100% auto;
		width: 2.7rem;
		height: 2.3rem;
		z-index: 2;
}
.voicebnr .bnr-voice .bnr-img:after {
		content: "";
		width: 3rem;
		height: 3rem;
		background: #fff;
		/* border: 1px solid #1F69D2; */
		border-radius: 100%;
		z-index: 1;
}


.voicebnr {
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
}

.voicebnr .bnr-voice a{
    text-decoration: none;
}

@media screen and (max-width: 480px)  {
.voicebnr:hover {
				opacity: 1;
				/* -webkit-transform: scale(1.1); */
				/* transform: scale(1.1); */
		}
 .voicebnr:hover a {
				opacity: 1;
		}
}
