@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: #232315;
}

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

a {
color: #232315;
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.4rem;
font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", Meiryo, "Helvetica Neue", Arial, sans-serif;
font-weight: 700;
line-height: 1.6;
color: #2727e3;
}


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

.fontBold{
font-weight: 700;
}

.fontLs0{
letter-spacing: 0;
}




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,
a:hover img{
opacity: 0.7;
}


.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: 1100px;
margin: 0 auto;
}








/*--------------------------------------
　header_PC
---------------------------------------*/
#header{
position: relative;
z-index: 15;
overflow: visible;
height: 160px;
padding: 14px 25px 0;
background: url("./img/visbg.jpg") 0 0 no-repeat;
background-size: cover;
}


#header .siteName,
#header .siteName a,
#header .sps{
margin: 4px 0;
font-size:1.2rem;
font-weight: 400;
line-height: 1.6;
text-align: right;
color: #fff;
}
#header .logo{
position: absolute;
top: 30px;
left: 30px;
}
#header .logoImg{
width: 230px;
}





/*--------------------------------------
　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{
}


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

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



#fixNav{
position: fixed;
z-index: 1000;
top: 0;
left: 0;
width: 100%;
background: #fff;
padding: 0 0 0 460px;
border-top: 1px solid #232315;
border-bottom: 1px solid #232315;
}
#fixNav .logo{
position: absolute;
top:7px;
left: 10px;
width: 420px;
}
#fixNav .logo img{
width: 100%;
}
#fixNav .btnArea{
display: flex;
flex-wrap: wrap;
padding: 0 72px 0 0;
background: #232315;
}
#fixNav .btnArea a{width: calc((100% - 0px) / 3);background: #f1f3f3;}
#fixNav .btnArea a{display: flex;align-items: center;justify-content: center;min-height: 70px;padding: 8px 40px 10px;border-left: 1px solid #b5b5b5;background: url(./img/arrow_down.svg) 96% calc(50% - 0px) no-repeat #f1f3f3;background-size: 22px auto;font-weight: 700;font-size:1.5rem;line-height: 1.3;text-align: center;}
#fixNav .btnArea a.web{
background: url(./img/btn_web.svg) 96% calc(50% - 0px) no-repeat #ebae0f;
background-size: 22px auto;
}




/*--------------------------------------
　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{
width: 72px;
transition: all .2s ease-in-out;
}
#gNav_pc button:hover{
opacity: .7;
}
#gNav_pc button.active{
background: url(./img/sp-btn-menu_off.png) 0 0 no-repeat;
position: fixed!important;
top:0!important;
right: 0!important;
}
#gNav_pc button.active img{
opacity: 0;
}

/* General styles for all menus */
.cbp-spmenu {
position: fixed;
padding: 140px 0 0;
background: #232315;
}

.cbp-spmenu #mainMenu2{
overflow-y: scroll;   
-ms-overflow-style: none; /* IE, Edge 対応 */
scrollbar-width: none;/* Firefox 対応 */
position: relative;
z-index: 1;
overflow: auto;
margin: 0 0;
height: 100%;
}
.cbp-spmenu #mainMenu2::-webkit-scrollbar{
display: none;/* Chrome, Safari 対応 */
}

.cbp-spmenu a {
display: block;
padding: 14px 20px 14px 4px;
text-decoration: none;
line-height: 1.3;
cursor: pointer;
color: #fff;
font-size:1.5rem;
}
.cbp-spmenu .sttl{
margin: 0;
font-size:1.6rem;
}
.cbp-spmenu .sttl a {
position: relative;
background: url(./img/arrow2_wt.svg) 96% 50% no-repeat ;
background-size: 16px auto;
}

/*.cbp-spmenu .sttl.tglMenu a {
background: url("./img/arrow2_down.svg") 95% 50% no-repeat;
background-size: 13px auto;
}

.cbp-spmenu .sttl.open a {
background: url("./img/arrow2_up.svg") 95% 50% no-repeat;
background-size: 13px auto;
}*/

.cbp-spmenu .sttl.tglMenu a {
background: none;
}
.cbp-spmenu .sttl.tglMenu a::before {
content: '';
display: inline-block;
width: 16px;
height: 1px;
background-color: #fff;
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
.cbp-spmenu .sttl.tglMenu a::after {
content: '';
display: inline-block;
width: 16px;
height: 1px;
background-color: #fff;
position: absolute;
right: 20px;
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/arrow2_wt.svg) 96% 50% no-repeat ;
background-size: 16px auto;
}

.cbp-spmenu li a {
background: url(./img/arrow2_wt.svg) 96% 50% no-repeat #4d4d4d;
background-size: 16px auto;
padding: 14px 50px 14px calc(14px + 1em);
}

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

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

.cbp-spmenu-vertical {
width: 500px;
height: 100%;
top: 0;
z-index: -1;
}
.cbp-spmenu-vertical a {
border-bottom: 1px solid #a9a9a9;
padding: 14px 50px 14px 14px;
}


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

.cbp-spmenu-right {
opacity: 0;
right: -500px;
/*right: 0;*/
}
.cbp-spmenu-right.cbp-spmenu-open {
opacity: 1;
right: 0;
z-index: 1000;
}


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

#gNav_pc .accChild {
display: none;
}








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

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


.mainWrap {
position: relative;
z-index: 1;
padding: 10px 0 50px;
}


.smappage{
}

.index{
width: 100%;
padding: 50px 0 10vw;
}
.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 30px;
}
#pankuzu{
width: 100%;
margin: 0 auto;
padding: 15px 30px 15px;
font-size:1.2rem;
color: #666;
font-feature-settings: normal;
letter-spacing: 0;
}
#pankuzu a{
text-decoration: underline;
color: #666;
}


/*--------------------------------------
　lower_eyecatch_PC
---------------------------------------*/
.lower_eyecatch{
margin: 0 0 70px;
}




/*--------------------------------------
　h1Area_PC
---------------------------------------*/
.h1Area{
position: relative;
z-index: 2;
padding: 15px 0 30px;
}

.h1Area .h1Box{
position: relative;
margin: 0 0 10px;
padding: 40px 50px 40px 0;
background: url("./img/deco_bk.svg") 100% 0 no-repeat #232315;
background-size: 50px auto;
}

.h1Area .h1Box::before{
content: "";
position: absolute;
z-index: -1;
top: 0;
left: -100vw;
width: 100vw;
height: 100%;
background: #232315;
}

.h1Area h1{
position: relative;
font-size:4.8rem;
color: #fff;
}
.h1Area .note{
font-size:1.2rem;
color: #707070;
}







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

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


#contents .mokuji{
position: relative;
width: 800px;
margin: 30px auto 80px;
border-top: 1px solid #232315;
border-bottom: 1px solid #232315;
}
#contents .mokuji::before{
content: "";
position: absolute;
z-index: 1;
top: 20px;
left: 20px;
width: 136px;
height: 35px;
background: url("./img/eng_idx.svg") 0 0 no-repeat;
background-size: auto 35px;
}
#contents .mokuji::after{
content: "";
position: absolute;
z-index: 0;
top: 26px;
right: 20px;
width: 26px;
height: 26px;
background: #232315;
}
#contents .mokuji .sttl{
z-index: 2;
margin: 0;
padding: 25px 30px 25px 170px;
font-size:1.8rem;
}
#contents .mokuji .sttl.tglMenu::before {
content: '';
display: inline-block;
z-index: 1;
width: 14px;
height: 1px;
background-color: #fff;
position: absolute;
right: 26px;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
#contents .mokuji .sttl.tglMenu::after {
content: '';
display: inline-block;
z-index: 1;
width: 14px;
height: 1px;
background-color: #fff;
position: absolute;
right: 26px;
top: 50%;
transform: translateY(-50%) rotate(-90deg);
transition: transform .5s;
}
#contents .mokuji .sttl.open::before {
opacity: 0;
}
#contents .mokuji .sttl.open::after {
transform: translateY(-50%) rotate(-180deg);
}
#contents .mokuji .sttl:hover{
cursor: pointer;
}





#contents .mokuji #toc{
position: relative;
padding: 0 40px 30px;
}

#contents .mokuji ul{
margin:0;
padding:0;
}
#contents .mokuji ul li{
position: relative;
margin: 0;
padding: 1px 0 1px 3.5rem;
text-align: left;
line-height: 1.6;
}

#contents .mokuji ul li::before{
width: 0;
height: 0;
background: none;
border: none;
}

#contents .mokuji #toc > ul > li{
counter-increment: count;
}
#contents .mokuji #toc > ul > li::before,
#contents .mokuji #toc ul ul li::before {
	content: none;
}
#contents .mokuji #toc > ul > li::after {
content: counter(count, decimal-leading-zero)".";/*2桁対応*/
position: absolute;
top: 18px;
left: 0;
transform: translate(0,-50%);
font-size:1.6rem;
font-weight: 700;
color: #2727e3;
}

#contents .mokuji #toc ul ul li {
padding: 0 0 0 5.5rem;
}
#contents .mokuji #toc ul ul li::after {
content: "";
position: absolute;
top: 0;
left: 4.2rem;
width: 8px;
height: 100%;
background: url("./img/l_deco.png") 0 6px no-repeat;
background-size: 8px auto;
}


#contents .mokuji li a{
padding: 0;
width: 0;
background: none;
font-weight: 700;
text-decoration: none;
}
#contents .mokuji li a:last-child{
display: inline-block;
width: auto;
padding: 4px 0 6px;
font-size:1.6rem;
font-weight: 700;
}


#contents .mokuji li br{
display: none;
}




/* relations_PC */
.relations{
position: relative;
width: 800px;
margin: 30px auto 80px;
border-top: 1px solid #232315;
border-bottom: 1px solid #232315;
}
.relations::before{
content: "";
position: absolute;
z-index: 1;
top: 20px;
left: 20px;
width: 132px;
height: 35px;
background: url("./img/eng_link.svg") 0 0 no-repeat;
background-size: auto 35px;
}

.relations .relations-title{
margin: 0;
padding: 25px 30px 25px 170px;
font-size:1.8rem;
font-weight: 700;
line-height: 1.5;
}

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

.relations ul{
margin:0;
padding:0;
}
.relations ul li{
position: relative;
margin: 0;
padding: 2px 0 2px 3rem;
background: url(./img/arrow.svg) 0 7px no-repeat;
background-size: 21px auto;
text-align: left;
line-height: 1.4;
}

.relations ul li::before{
width: 0;
height: 0;
background: none;
border: none;
}


.relations li a{
padding: 0;
width: 0;
background: none;
text-decoration: none;
}
.relations li a:last-child{
display: inline-block;
width: auto;
padding: 4px 0 6px;
}










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

footer{
position: relative;
z-index: 10;
width: 100%;
background: #232315;
}

footer .footInner{
width: 1100px;
margin: 0 auto;
padding: 90px 0 20px;
}


/* about_PC */
footer .about{
position: relative;
margin: 0 0 90px;
border: 1px solid #a7a7a1;
border-left: none;
color: #fff;
}
footer .about .areaInner{
display: table;
padding: 40px 50px 40px 0;
}
footer .about .areaInner::before{
content: "";
position: absolute;
top: 0;
right: 10px;
width: 524px;
height: 50px;
background: url(./img/eng_about.svg) 0 0 no-repeat;
background-size: 524px auto;
}
footer .about .areaInner::after{
content: "";
position: absolute;
top: -1px;
left: -100vw;
width: 100vw;
height: 100%;
border-top: 1px solid #a7a7a1;
border-bottom: 1px solid #a7a7a1;
}

footer .about .flame{
display: table-cell;
width: 270px;
vertical-align: middle;
}
footer .about .flame img{
display: block;
max-width: 150px;
margin: 0 auto;
}
footer .about .txtArea{
display: table-cell;
vertical-align: middle;
padding: 40px 0 0 70px;
}
footer .about .btn-link {
margin: 10px 0 0;
}
footer .about .btn-link a{
background-image: url(./img/arrow2_wt.svg);
color: #fff;
}


footer .footInner .areaL{
width: 380px;
float: left;
}

.footLogo{
position: relative;
margin: 0 auto 25px;
}
.footLogo .logoImg{
width: 202px;
}

footer .noticeArea{
color: #fff;
}
footer .noticeArea p{
font-size:1.2rem;
}
footer .noticeArea p:nth-child(1){
}
footer .noticeArea a{
color: #fff;
text-decoration: underline;
}
footer .noticeArea .botPrg{
padding: 12px 0 0;
}



footer .footInner .areaR{
width: 660px;
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 #a9a9a9;
}
.footBox .sttl a{
position: relative;
display: block;
padding: 4px 0 4px;
font-size:18px;
font-size:1.8rem;
line-height: 1.3;
color: #fff;
}

footer .smap .sttl a{
font-size:1.8rem;
}

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

.footBox li ul{
}

.footBox li a{
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 .botArea{
position: relative;
min-width: 1100px;
box-sizing: border-box;
}
footer .botArea .botInner{
}
footer .botArea .copy{
padding: 10px 30px 16px;
font-size:1.2rem;
text-align: center;
color: #fff;
}
footer .botArea .copy a{
text-decoration: none;
color: #fff;
}






/* ================== */
/*  PC共通パーツ　*/
/* ================== */
/* p */
.mainWrap p, .index p{
					  margin: 10px 0;
					  padding: 0 0;
					  word-break: break-all;
					  /* text-shadow:
        1px 1px 0.2px #eee, 
        1px -1px 0.2px #eee,
        -1px 1px 0.2px #eee,
        -1px -1px 0.2px #eee; *//*文字の左上に影を追加*/
}




.mainWrap h2{position: relative;margin: 90px 0 35px;padding: 20px 20px 24px 64px;background: #2727e3;font-size:3.4rem;color: #fff;}
.mainWrap h2::before {
	content: ""; 
	position: absolute;
	top: 10px;
	left: 10px;
	width: 40px;
	height: 60px;
	background: url(./img/deco2_wt.svg) 0 0 no-repeat;
	background-size: contain;
}

.mainWrap h2 a{
position: relative;
display: block;
padding: 0 45px 0 0;
color: #fff;
}
.mainWrap h2 a::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 28px;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% + 1px) no-repeat;
background-size: 28px auto;
}



.mainWrap h3{position: relative;margin: 40px 0 30px;padding: 14px 20px 16px 60px;background: url(./img/mainicon.svg) 0 0 no-repeat;background-size: 50px auto;border-bottom: 1px solid #232315;font-size:2.8rem;}
.mainWrap h3::before{
}
.mainWrap h3 a{
position: relative;
z-index: 1;
display: block;
padding: 0 45px 0 0;
}



.mainWrap h4, .mainWrap h5, .mainWrap h6{position: relative;margin: 40px 0 30px;padding: 10px 20px 12px 15px;border-bottom: 1px solid #232315;font-size:2.2rem;color: #2727e3;}
.mainWrap h4 a, .mainWrap h5 a {
	color: #2727e3;
} 
.mainWrap h4::before, .mainWrap h5::before, .mainWrap h6::before{
}
.mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
position: relative;
padding: 0 40px 0 0;
}
.mainWrap h4 a::before, .mainWrap h5 a::before, .mainWrap h6 a::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 22px;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% + 1px) no-repeat;
background-size: 22px auto;
}




/* ulol */
.mainWrap ul,
.index ul,
#mainVis ul{
margin: 20px 0 20px;
padding:10px 10px 0;
}
.mainWrap ul li,
.index ul li,
#mainVis ul li{
position: relative;
padding:3px 0 3px 20px;
}
.mainWrap ul li::before,
.index ul li::before{
position: absolute;
content: "";
top: 13px;
left: 2px;
width: 12px;
height: 12px;
background: #2727e3;
border-radius:50%;
}

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

.mainWrap ol li::before{
position: absolute;
top: 10px;
left: 0;
width: 15px;
height: 12px;
padding: 2px 0 2px;
background: #2727e3;
color: #fff;
text-align: center;
letter-spacing: -0.5px;
line-height: 1.0;
font-size:1.2rem;
font-family: Arial, Helvetica," sans-serif";
font-weight: 700;
}


.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-tel{
position: relative;
z-index: 1;
margin: 30px auto;
text-align: center;
}
.btn-internal a,
.btn-web a,
.btn-tel a{
position: relative;
display: inline-block!important;
width: 360px;
padding: 20px 60px 22px;
box-shadow: 8px 8px 0px 0px #232315;
line-height: 1.5;
font-size:1.6rem;
font-weight: 700;
color: #fff;
}

.btn-internal a{
background: #00b1ff;
}
.btn-internal a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 18px;
width: 28px;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% - 0px) no-repeat;
background-size: 28px auto;
}
.btn-internal a::after{
}



.btn-web{
}
.btn-web a{
background: #ebae0f;
}
.btn-web a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 18px;
width: 29px;
height: 100%;
background: url("./img/btn_web.svg") 99% calc(50% - 0px) no-repeat;
background-size: 29px auto;
}
.btn-web a::after{
}



.btn-tel{
display: none;
}
.btn-tel a{
background: #ff5500;
}
.btn-tel a::before{
content: "";
top: 0;
left: 20px;
position: absolute;
width: 30px;
height: 100%;
background: url(./img/ico_tel.svg) 7% 50% no-repeat;
background-size: 30px auto;
}
.btn-tel a::after{
}

.btn-tel a:hover{
}
.btn-tel a:hover::after{
}




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







/* ================== */
/*  テーブル　　　　　*/
/* ================== */
table {
width: 98%;
margin:100px auto;
}
table th {
width: 22%;
padding: 20px 16px;
background: #f1f3f3;
border: 1px solid #232315;
line-height: 1.6;
text-align:center;
font-weight: 700;
word-break: break-all;
}
table td {
background: #fff;
border: 1px solid #232315;
padding: 20px 16px;
line-height: 1.6;
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, .marker a {position: relative;display: inline;background: linear-gradient(transparent 60%, rgba(202, 208, 239, .6) 0%) no-repeat bottom 0 left;padding: .3% 0.2% .5%;margin: 0 .5%;font-weight: 700;line-height: 1;}
.txt_bold, .txt_bold a {
font-weight: 700;
color: #2727e3;
}


/* float-wrap */

.float-wrap{
margin: 50px 0;
padding: 0 20px;
}
.float-wrap .catch{
margin: 0 0 15px;
font-size:2.4rem;
}


.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: 320px;
padding: 0 30px 20px 0;
text-align: left;
}
.float-wrap .fr{
width: 320px;
padding: 0 0 20px 30px;
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;
}


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









/* motome_PC */
.motome{position: relative;margin: 150px 0 100px;padding: 60px 580px 20px 50px;background: url(./img/deco2_bl.svg) 5px 5px no-repeat #f1f3f3;background-size: 40px auto;}
.motome.nophoto{
	padding: 60px 50px 20px;
}
.motome::before{
content: "";
position: absolute;
bottom: 28px;
right: -18px;
width: 315px;
height: 50px;
background: url("./img/eng_sum.svg") 100% 100% no-repeat;
background-size: 315px auto;
}

.motome .catch{
margin: 0 0 20px;
color: #232315;
}
.motome .flame{
position: absolute;
top: -35px;
right: 50px;
width: 480px;
}
.motome .caption{
text-align: left;
}





/* supervise_PC */
.supervise{
position: relative;
margin: 150px 0 100px;
padding: 55px 0 50px;
background: #fff;
box-shadow: 0px 6px 20px 0px rgba(17, 17, 17, 0.2);
}
.supervise::before{
content: "";
position: absolute;
top: 30px;
left: 50px;
width: 200px;
height: 20px;
background: url(./img/eng_sps.svg) 0 0 no-repeat;
background-size: 200px auto;
}

.supervise .boxTtl{
margin: 0 0 40px;
padding: 0 50px;
font-size:4.0rem;
}
.supervise .boxTtl .fontS{
display: inline-block;
vertical-align: middle;
width: 155px;
margin: 0 20px 0 0;
padding: 12px 10px 14px;
background: #232315;
text-align: center;
line-height: 1.1;
font-size:1.8rem;
color: #fff;
}

.supervise .blBox{
margin: 0 50px 45px 0;
padding: 25px 50px 28px;
background: url(./img/deco_bl.svg) 100% 0 no-repeat #2727e3;
background-size: 50px auto;
color: #fff;
font-size:2.8rem;
line-height: 1.4;
}
.supervise .blBox .fontL{
font-size:3.6rem;
}

.supervise .intro{
position: relative;
min-height: 270px;
margin: 0 0 20px;
}
.supervise .intro .imgArea{
position: absolute;
top:0;
left: -250px;
width: 200px;
}
.supervise .intro .imgArea img{
margin: 0 0 15px;
}
.supervise .intro .sttl{
text-align: center;
font-size:1.8rem;
}
.supervise .intro .sttl .fontS{
display: block;
font-size:1.4rem;
}
.supervise .intro .txtArea{
position: relative;
margin: 0 50px 0 300px;
padding: 40px 0 0;
border-top: 1px solid #232315;
}
.supervise .intro .txtArea::before{
content: "";
position: absolute;
top: 20px;
left: 0;
width: 146px;
height: 15px;
background: url("./img/eng_vm.svg") 0 0 no-repeat;
background-size: 146px auto;
}
.supervise .intro .catch{
color: #232315;
}

.supervise .btnArea{
text-align: center;
}
.supervise .btnArea .btn-web,
.supervise .btnArea .btn-internal{
display: inline-block;
margin: 0 15px 15px;
}

.supervise .mini{
padding: 80px 50px 0;
}
.supervise .mini .sttl{
margin: 0 0 40px;
}
.supervise .mini .sttl::before{
content: "";
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 1px;
background: #232315;
}
.supervise .mini .sttl span{
position: relative;
z-index: 1;
display: inline-block;
padding: 7px 20px 9px;
background: #fff;
border: 1px solid #232315;
font-size:2.8rem;
line-height: 1.2;
}
.supervise .mini .flame{
margin: 0 0 40px;
}
.supervise .mini .caption{
text-align: left;
}

.supervise .btnArea2{
margin: 50px 0 0;
}
.supervise .btnArea2 .fuki{
display: block;
width: 200px;
margin: 0 auto 8px;
padding: 0 0 25px;
background: url("./img/fuki.svg") 50% 100% no-repeat;
background-size: 200px auto;
font-size:1.6rem;
font-weight: 700;
text-align: center;
}











/* accTbl_grd_PC */
.accTbl{
position: relative;
margin: 150px 0 100px;
}
.accTbl .text {
height: 280px;
overflow: hidden;
}
.accTbl .show_more2 {
position: absolute;
bottom: 0;
left: 0px;
width: 100%;
height: 70px;
padding-top: 160px;
text-align: center;
line-height: 70px;
background: linear-gradient(
180deg,
rgb(255, 255, 255, 0) 0%,
rgb(255, 255, 255, 1) 80%
);
cursor: pointer;
transition: bottom 0.2s;
}
.accTbl .active{
background: none;
bottom: -10px;
}
.accTbl .show_more2 span{
position: relative;
top: -30px;
display: inline-block;
width: 300px;
padding: 12px 34px 14px;
background: url(./img/plus2.svg) 90% 50% no-repeat #fff;
background-size: 16px auto;
border: 1px solid #232315;
font-size:1.6rem;
font-weight: 700;
text-align: center;
line-height: 1.5;
transition: all .2s ease-in-out;
}
.accTbl .show_more2 span:hover{
opacity: .7;
}
.accTbl .active span{
background: url(./img/minus2.svg) 90% 50% no-repeat #fff;
background-size: 16px auto;
}
.accTbl table{
margin: 0 auto 50px;
}



/* talk_PC */
.talks{
position: relative;
margin: 150px 0 100px;
}
.talk{
position: relative;
margin: 0 0 90px;
}
.talk .imgArea{
position: absolute;
top:0;
right: 0;
text-align: center;
}
.talk:nth-child(2n) .imgArea{
right: auto;
left: 0;
}
.talk .imgArea .flame{
margin: 0 0 10px;
}
.talk .imgArea img{
border-radius:50%;
}
.talk .imgArea .sttl{
font-size:1.6rem;
}

.talk .txtArea{
position: relative;
margin: 0 260px 0 0;
padding: 30px 40px 20px;
background: #fff;
border: 1px solid #232315;
}
.talk:nth-child(2n) .txtArea{
margin: 0 0 0 260px;
}
.talk .txtArea::before{
content: "";
position: absolute;
top: 0;
right: -24px;
width: 24px;
height: 100%;
background: url("./img/talk_fuki.png") 0 50% no-repeat;
}
.talk:nth-child(2n) .txtArea::before{
content: "";
position: absolute;
top: 0;
right: auto;
left: -24px;
width: 24px;
height: 100%;
background: url("./img/talk_fuki_rv.png") 0 50% no-repeat;
}
.talk .txtArea::after{
content: "";
position: absolute;
top: 5px;
left: 5px;
width: 40px;
height: 40px;
background: url(./img/deco2_bl.svg) 0 0 no-repeat;
background-size: 40px auto;
}
.talk:nth-child(2n) .txtArea::after{
top: 5px;
left: auto;
right: 5px;
width: 40px;
height: 40px;
transform: scale(-1, 1);
background: url(./img/deco2_bl.svg) 0 0 no-repeat;
background-size: 40px auto;
}
.talk .txtArea .catch{
font-size:2.2rem;
}





/* qa_PC */
.qa{position: relative;margin: 40px auto;padding: 40px 0px 30px;background: #f1f3f3;width: calc(100% - 60px);}
.qa .question{
padding: 0 50px 10px 90px;
}
.qa .question .catch{
background: #232315;
padding: 16px 30px 18px;
color: #fff;
font-size:2.6rem;
}
.qa .question .catch::before{
content: "";
position: absolute;
top: 0;
left: -120px;
width: 120px;
height: 100%;
background: url(./img/eng_q.svg) 50% 50% no-repeat #2727e3;
background-size: 42px auto;
}
.qa .answer{
padding: 15px 50px 10px;
}
.qa .answer .catch{
padding: 0 0 0 45px;
font-size:2.2rem;
}
.qa .answer .catch::before{
content: "";
position: absolute;
top: 0;
left: 2px;
width: 26px;
height: 100%;
background: url(./img/eng_a.svg) 50% 50% no-repeat;
background-size: 26px auto;
}



/* interview_PC */
.interview{position: relative;margin: 120px auto;padding: 50px 0 30px 50px;box-shadow: 0px 6px 20px 0px rgba(17, 17, 17, 0.2);width: 900px;}
.interview::before{
content: "";
position: absolute;
top: -30px;
right: 5px;
width: 350px;
height: 100%;
background: url(./img/eng_int.svg) 0 0 no-repeat;
background-size: 350px auto;
}
.interview .flame{
width: 350px; 
float: left;
margin: -10rem 0 0 -10rem;
}
.interview .flame img {
object-fit: cover;
}
.interview .txtArea{width: calc(900px - 340px);float: right;}
.interview .intro{
position: relative;
margin: 0 0 20px;
padding: 12px 50px 15px 45px;
background: #2727e3;
color: #fff;
}
.interview .intro::before{
content: "";
position: absolute;
top: 0;
left: 0;
transform: scale(-1, 1);
width: 50px;
height: 100%;
background: url(./img/deco_bl.svg) 0 0 no-repeat;
background-size: 50px auto;
}
.interview .intro .pos{
position: relative;
z-index: 1;
display: inline-block;
}
.interview .intro .sttl{
display: inline-block;
margin: 0 0 0 8px;
font-size:2.0rem;
color: #fff;
}
.interview .catch{
padding: 0 50px 0 0;
font-size:3.0rem;
color: #232315;
}
.interview p{
padding: 0 50px 0 0;
}


/* End_PC */



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


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

html{
}

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

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



body{
min-width: 320px;
text-align:left;
line-height:2.0;
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;
}



/* notice 30px_4% */










/*--------------------------------------
　Header_SP
---------------------------------------*/
#header{
position: relative;
z-index: 15;
overflow: visible;
height: 115px;
padding: 4px 3% 0;
background: url("./img/visbg_sp.jpg") 0 0 no-repeat;
background-size: cover;
}

#header .siteName,
#header .siteName a,
#header .sps{
font-size:1.1rem;
font-weight: 400;
line-height: 1.6;
text-align: left;
color: #fff;
}
#header .logo{
position: absolute;
top: 38px;
left: 3%;
}
#header .logoImg{
width: 145px;
}







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



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

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


#fixNav{
position: fixed;
z-index: 1000;
top: 0;
left: 0;
width: 100%;
background: #fff;
padding: 0 0 0;
border-top: 1px solid #232315;
border-bottom: 1px solid #232315;
}

#fixNav .btnArea{
display: flex;
flex-wrap: wrap;
padding: 0 50px 0 0;
background: #232315;
}
#fixNav .btnArea a{
width: calc((100% - 0px) / 3);
background: #f1f3f3;
}
#fixNav .btnArea a{
display: flex;
align-items: center;
justify-content: center;
min-height: 55px;
padding: 0 1% 5px;
border-left: 1px solid #b5b5b5;
background: #f1f3f3;
font-weight: 700;
font-size:1.2rem;
line-height: 1.3;
text-align: center;
}
#fixNav .btnArea a:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: 2px;
  border-style: solid;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-top: 8px solid #000000;
  border-bottom: 0;
}
	
#fixNav .btnArea a:first-child{
border: none;
}
#fixNav .btnArea a.web{
display: block;
position: fixed;
bottom: 0;
left: 3%;
width: 70vw;
min-height: 0;
padding: 20px 10% 22px;
background: url(./img/btn_web.svg) 96% calc(50% - 0px) no-repeat #ebae0f;
background-size: 20px auto;
font-size:1.5rem;
}





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


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

/* ハンバーガーメニュー */
#gNav #showRight{
width: 50px;
position: fixed;
top: 0;
right: 0;
z-index: 10000;
}
#gNav button.active{
background: url(./img/sp-btn-menu_off.png) 0 0 no-repeat;
background-size: 50px auto;
}
#gNav button.active img{
opacity: 0;
}


/* General styles for all menus */
.cbp-spmenu {
position: fixed;
padding: 50px 0 0;
background: #232315;
/*overflow: auto;*/
}


.cbp-spmenu #mainMenu{
overflow-y: scroll;   
-ms-overflow-style: none; /* IE, Edge 対応 */
scrollbar-width: none;/* Firefox 対応 */
position: relative;
z-index: 1;
overflow: auto;
margin: 0 0;
padding: 20px 0 0;
height: 100%;
/*border-top: 1px solid #cccccc;*/
}

.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;
font-weight: 700;
color: #fff;
}
.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/arrow2_wt.svg) 95% 50% no-repeat;
background-size: 14px auto;
}
/*
.cbp-spmenu .sttl.tglMenu a {
background: url(./img/arrow2_down.png) 95% 50% no-repeat;
background-size: 12px auto;
}
.cbp-spmenu .sttl.open a {
background: url(./img/arrow2_up.png) 95% 50% no-repeat;
background-size: 12px auto;
}
*/

.cbp-spmenu .sttl.tglMenu a {
background: none;
}
.cbp-spmenu .sttl.tglMenu a::before {
content: '';
display: inline-block;
width: 14px;
height: 1px;
background-color: #fff;
position: absolute;
right: 17px;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
.cbp-spmenu .sttl.tglMenu a::after {
content: '';
display: inline-block;
width: 14px;
height: 1px;
background-color: #fff;
position: absolute;
right: 17px;
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/arrow2_wt.svg) 95% 50% no-repeat;
background-size: 14px auto;
}
.cbp-spmenu .subList a{
padding: 14px 10% 14px calc(5% + 2em);
font-weight: 400;
}

.cbp-spmenu li a {
background: url(./img/arrow2_wt.svg) 95% 50% no-repeat #4d4d4d;
background-size: 14px auto;
padding: 14px 10% 14px calc(5% + 1em);
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 #a9a9a9;
padding: 16px 11% 16px 5%;
}
.cbp-spmenu-vertical .home a {
border-bottom: 1px solid #a9a9a9;
}
.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;
}






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

#contents {
position: relative;
z-index: 14;
width: 100%;
padding: 0 0 50px;
}

.mainWrap {
position: relative;
z-index: 1;
padding: 5px 0 50px;
}



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

#pankuzuWrap{
overflow: auto;
white-space: nowrap;
margin: 0 4% 15px;
padding: 4px 0 6px;
position: static;
box-sizing: border-box;
width: auto;
}

#pankuzuWrap .areaInner{
width: auto;
}

#pankuzuWrap::-webkit-scrollbar{
height: 3px;
}
#pankuzuWrap::-webkit-scrollbar-track{
border-radius: 3px;
background: #ddd;
}
#pankuzuWrap::-webkit-scrollbar-thumb{
border-radius: 3px;
background: #bbb;
}

#pankuzu{
box-sizing: border-box;
width: 100%;
padding: 0.3em 0;
font-size:1.1rem;
}
#pankuzu a{
}


/*--------------------------------------
　lower_eyecatch_PS
---------------------------------------*/
.lower_eyecatch{
margin: 0 0 20px;
}
.lower_eyecatch img{
height: 150px;
object-fit: cover;
}




/*--------------------------------------
　h1Area_SP
---------------------------------------*/
.h1Area{
position: relative;
z-index: 2;
padding: 15px 0 30px;
}

.h1Area .h1Box{
position: relative;
margin: 0 5% 10px 0;
padding: 22px 5% 24px;
background: url("./img/deco_bk.svg") 100% 0 no-repeat #232315;
background-size: 40px auto;
}

.h1Area .h1Box::before{
width: 0;
height: 0;
background: none;
border: none;
}

.h1Area h1{
position: relative;
font-size:2.6rem;
color: #fff;
}
.h1Area .note{
padding: 0 5%;
font-size:1.2rem;
color: #707070;
line-height: 1.6;
}





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

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


#contents .mokuji{
position: relative;
width: auto;
margin: 10px 5% 40px;
border-top: 1px solid #232315;
border-bottom: 1px solid #232315;
}
#contents .mokuji::before{
content: "";
position: absolute;
z-index: 1;
top: 17px;
left: 10px;
width: 100px;
height: 25px;
background: url("./img/eng_idx.svg") 0 0 no-repeat;
background-size: auto 25px;
}
#contents .mokuji::after{
content: "";
position: absolute;
z-index: 0;
top: 19px;
right: 12px;
width: 20px;
height: 20px;
background: #232315;
}
#contents .mokuji .sttl{
margin: 0;
padding: 17px 10rem 17px 12rem;
font-size:1.6rem;
}
#contents .mokuji .sttl.tglMenu::before {
content: '';
display: inline-block;
z-index: 1;
width: 11px;
height: 1px;
background-color: #fff;
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
#contents .mokuji .sttl.tglMenu::after {
content: '';
display: inline-block;
z-index: 1;
width: 11px;
height: 1px;
background-color: #fff;
position: absolute;
right: 16px;
top: 50%;
transform: translateY(-50%) rotate(-90deg);
transition: transform .5s;
}
#contents .mokuji .sttl.open::before {
opacity: 0;
}
#contents .mokuji .sttl.open::after {
transform: translateY(-50%) rotate(-180deg);
}
#contents .mokuji .sttl:hover{
cursor: pointer;
}



#contents .mokuji #toc{
position: relative;
padding: 0 5% 5px;
}

#contents .mokuji #toc ul{
margin:0;
padding:0 0 5px;
}
#contents .mokuji #toc ul li{
position: relative;
margin: 2px 0;
padding: 2px 0 2px 12%;
text-align: left;
line-height: 1.4;
}

#contents .mokuji ul li::before{
width: 0;
height: 0;
background: none;
border: none;
}

#contents .mokuji #toc > ul > li{
counter-increment: count;
}
#contents .mokuji #toc > ul > li::after {
content: counter(count, decimal-leading-zero)".";/*2桁対応*/
position: absolute;
top: 18px;
left: 0;
width: 10%;
transform: translate(0,-50%);
background: none;
font-size:1.6rem;
font-weight: 700;
color: #2727e3;
}

#contents .mokuji #toc ul ul{
margin: -5px 0 0;
padding: 0 0 2px;
}
#contents .mokuji #toc ul ul li {
padding: 0 0 0 5.5rem;
}
#contents .mokuji #toc ul ul li::after {
content: "";
position: absolute;
top: 4px;
left: 4rem;
width: 8px;
height: 100%;
background: url("./img/l_deco.png") 0 6px no-repeat;
background-size: 8px auto;
}
#contents .mokuji #toc ul ul li::before {
width: 0;
height: 0;
background: none;
border: none;
}


#contents .mokuji li a{
padding: 0;
width: 0;
background: none;
font-weight: 700;
text-decoration: none;
}
#contents .mokuji li a:last-child{
display: inline-block;
width: auto;
padding: 6px 0 8px;
font-size:1.6rem;
text-decoration: none;
}









/* accordion_grd */
#contents .mokuji .text {
height: 120px;
overflow: hidden;
}
#contents .mokuji .show_more2 {
position: absolute;
bottom: 0;
left: 0px;
width: 100%;
height: 90px;
padding-top: 60px;
text-align: center;
line-height: 90px;
background: linear-gradient(
180deg,
rgb(255, 255, 255, 0) 0%,
rgb(255, 255, 255, 1) 40%
);
cursor: pointer;
transition: bottom 0.2s;
}
#contents .mokuji .active {
background: none;
bottom: -10px;
height: 50px;
line-height: 50px;
}
#contents .mokuji .show_more2 span{
position: relative;
display: inline-block;
top: -18px;
width: 50%;
padding: 12px 10% 14px;
background: url(./img/plus.svg) 90% 50% no-repeat #fff;
background-size: 13px auto;
border: 1px solid #d4d4d4;
border-radius:9999px;
font-weight: 700;
text-align: center;
line-height: 1.5;
}
#contents .mokuji .active span{
top: -26px;
background: url(./img/minus.svg) 90% 50% no-repeat #fff;
background-size: 13px auto;
}




/* relations_SP */

.relations{
position: relative;
width: auto;
margin: 10px 5% 40px;
border-top: 1px solid #232315;
border-bottom: 1px solid #232315;
}
.relations::before{
content: "";
position: absolute;
z-index: 1;
top: 17px;
left: 10px;
width: 100px;
height: 25px;
background: url("./img/eng_link.svg") 0 0 no-repeat;
background-size: auto 25px;
}

.relations .relations-title{
margin: 0;
padding: 17px 10rem 17px 12rem;
font-size:1.6rem;
}



.relations .relations-wrapper{
position: relative;
padding: 0 5% 15px;
}

.relations .relations-wrapper ul{
margin:0;
padding:0 0 5px;
}
.relations .relations-wrapper ul li{
position: relative;
margin: 2px 0;
padding: 2px 0 2px 3rem;
background: url(./img/arrow.svg) 0 11px no-repeat;
background-size: 21px auto;
text-align: left;
line-height: 1.4;
}

.relations ul li::before{
width: 0;
height: 0;
background: none;
border: none;
}


.relations li a{
padding: 0;
width: 0;
background: none;
text-decoration: none;
}
.relations li a:last-child{
display: inline-block;
width: auto;
padding: 6px 0 8px;
font-size:1.6rem;
text-decoration: none;
}




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

footer{
position: relative;
z-index: 10;
margin: 0 0 0;
width: 100%;
border-radius:0;
}


footer .footInner{
width: auto;
margin: 0;
padding: 60px 0 0;
text-align: center;
}





/* about_SP */
footer .about{
position: relative;
margin: 0 5% 50px 0;
border: 1px solid #a7a7a1;
border-left: none;
color: #fff;
}
footer .about .areaInner{
display: block;
padding: 50px 5% 30px;
}
footer .about .areaInner::before{
content: "";
position: absolute;
top: 0;
right: 10px;
width: 262px;
height: 50px;
background: url(./img/eng_about.svg) 0 0 no-repeat;
background-size: 262px auto;
}
footer .about .areaInner::after{
width: 0;
height: 0;
background: none;
border: none;
}

footer .about .flame{
display:block;
width: auto;
}
footer .about .flame img{
display: block;
max-width: 100px;
margin: 0 auto;
}
footer .about .txtArea{
display:block;
padding: 30px 0 0;
}
footer .about .btn-link {
margin: 10px 0 0;
}
footer .about .btn-link a{
background-image: url(./img/arrow2_wt.svg);
color: #fff;
}








footer .footInner .areaL{
width: auto;
float: none;
padding: 0 5% 40px;
}

.footLogo{position: relative;margin: 0 auto 15px;}
.footLogo .logoImg{width: 145px;text-align: center;margin: auto;}

footer .noticeArea{
color: #fff;
}
footer .noticeArea p{
font-size:1.1rem;
text-align: left;
}
footer .noticeArea p:nth-child(1){
}
footer .noticeArea a{
color: #fff;
text-decoration: underline;
font-size:1.1rem;
}
footer .noticeArea .botPrg{
padding: 12px 0 0;
}



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



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


footer .footBox{
margin: 0 0 0;
/*z-index: 0;*/
}
.footBox:first-of-type{
border-top: 1px solid #a9a9a9;
}
.footBox a{
}
.footBox a:hover{
opacity: 1;
}


.footBox .sttl{
margin: 0;
padding: 0;
border: none;
background: none;
}
.footBox .sttl a{
display: block;
padding: 1.2em 10% 1.3em 4%;
font-size: 1.5rem;
border-bottom: 1px solid #a9a9a9;
text-align: left;
letter-spacing: 0;
}
.footBox .sttl a::before {
content: '';
display: inline-block;
width: 14px;
height: 1px;
background-color: #fff;
position: absolute;
right: 17px;
top: 50%;
transform: translateY(-50%);
transition: opacity .5s;
}
.footBox .sttl a::after {
content: '';
display: inline-block;
width: 14px;
height: 1px;
background-color: #fff;
position: absolute;
right: 17px;
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 10.5%;
background: url(./img/arrow2_wt.svg) 95% 50% no-repeat;
background-size: 14px auto;
border-bottom: 1px solid #a9a9a9;
text-align: left;
font-size:1.3rem;
}
.footBox li li a{
padding: 1.3em 7% 1.3em 16.5%;
}
 
 
.footBox li a.ssttl{
display: block;
padding: 1.3em 10% 1.3em 4.5%;
background: url(./img/arrow2_wt.svg) 95% 50% no-repeat;
background-size: 14px auto;
border-bottom: 1px solid #a9a9a9;
}

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

/* サイトマップ */
footer .smap .sttl a{
background: url(./img/arrow2_wt.svg) 95% 50% no-repeat;
background-size: 14px 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/arrow2_wt.svg) 95% 50% no-repeat #4d4d4d;
background-size: 14px auto;
border-bottom: 1px solid #a9a9a9;
}



/*
.footBox.accordion .open a{ 
background: url(./img/arrow2_up.png) 95% 50% no-repeat;
background-size: 12px auto;
}
.footBox.accordion .open a.ssttl{
background: url(./img/arrow2_down.png) 95% 50% no-repeat;
background-size: 12px auto;
}
*/
.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 .botArea{
min-width: 0;
padding: 25px 5% 30px;
box-sizing: border-box;
text-align: center;
}
footer .botArea .copy{
padding: 0 0;
font-size:1.1rem;
text-align: center;
line-height: 1.6;
}
footer .botArea a{
display: inline-block;
text-decoration: none;
font-size:1.1rem;
}




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

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



.mainWrap h2 {position: relative;margin: 40px 5% 20px;padding: 1rem 3% 1.5rem 4rem;background: #2727e3;font-size:2.3rem;}
.mainWrap h2::before {content: "";position: absolute;top: 1rem;left: 1rem;width: 2.4rem;height: 2.4rem;background: url(./img/deco2_wt.svg) 0 0 no-repeat;background-size: contain;}

.mainWrap h2 a{
position: relative;
padding: 0 10% 0 0;
}
.mainWrap h2 a::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 24px;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% - 0px) no-repeat;
background-size: 24px auto;
}






.mainWrap h3{position: relative;margin: 30px 5%;padding: 12px 2% 12px 4rem;background: url(./img/mainicon.svg) 0 0 no-repeat;background-size: 32px auto;border-bottom: 1px solid #232315;font-size:2.1rem;}
.mainWrap h3::before{
}
.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: 24px;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% - 0px) no-repeat;
background-size: 24px auto;
}

.mainWrap h3:after{
}


.mainWrap h4, .mainWrap h5, .mainWrap h6{
margin: 20px 5%;
padding: 10px 2% 10px .5rem;
font-size:1.8rem;
}
.mainWrap h4::before, .mainWrap h5::before, .mainWrap h6::before{
}
.mainWrap h4 a, .mainWrap h5 a, .mainWrap h6 a{
position: relative;
padding: 0 5% 0 0;
}
.mainWrap h4 a::before, .mainWrap h5 a::before, .mainWrap h6 a::before{
content: "";
position: absolute;
top: 0;
right: 0;
width: 20px;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% + 2px) no-repeat;
background-size: 20px auto;
}




.mainWrap ul{
margin: 1.5em 4% 1.5em;
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: 12px;
left: 2px;
width: 10px;
height: 10px;
}


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

.mainWrap ol li::before{
width: 1.4rem;
height: 1.5rem;
top: 9px;
left: 0;
box-sizing: border-box;
padding: 0.15em 0 0;
letter-spacing: 0;
line-height: 1.0;
font-size:1.2rem;
}







/*  btns*/
.btn-internal,
.btn-web,
.btn-tel{width: 82%;/*margin: 1.5em auto!important;*/margin: 2em auto;padding: 0!important;}


.btn-internal a,
.btn-web a,
.btn-tel a{
position: relative;
display: block!important;
width: auto;
padding: 1.2em 18% 1.3em;
box-shadow: 6px 6px 0px 0px #232315;
line-height: 1.5;
font-size:1.5rem;
font-weight: 700;
color: #fff;
}

.btn-internal a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 20px;
width: 24px;
height: 100%;
background: url("./img/arrow.svg") 99% calc(50% - 0px) no-repeat;
background-size: 24px auto;
}

.btn-web a::before{
content: "";
position: absolute;
z-index: 10;
top: 0;
right: 20px;
width: 24px;
height: 100%;
background: url("./img/btn_web.svg") 99% calc(50% - 0px) no-repeat;
background-size: 24px auto;
}


.btn-tel{
display: block;
}
.btn-tel a::before {
top: 0;
right: 20px;
width: 26px;
height: 100%;
background: url(./img/ico_tel.svg) 0 50% no-repeat;
background-size: 26px auto;
}
.btn-tel a::after {
}
.btn-tel a:hover{
}


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


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

table{
width: 88%;
margin:40px auto;
border-bottom: 1px solid #232315;
}
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.5rem;
}




/* ================== */
/*  SPカスタマイズ共通　*/
/* ================== */
.caption,
.source{
margin: 0.8em 0 0;
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{
margin: 2.5em 6%;
padding: 0 1%;
}
.mainWrap .float-wrap .catch{
margin: 0em 0 0.8em;
line-height: 1.7;
font-size:1.8rem;
}
.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 {
}






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


/* motome_SP */
.motome{
	position: relative;
	margin: 75px 5% 50px;
	padding: 40px 5% 40px;
	background: url(./img/deco2_bl.svg) 4px 4px no-repeat #f1f3f3;
	background-size: 32px auto;
}
.motome.nophoto {
	padding: 40px 5% 40px;
}
.motome::before{
content: "";
position: absolute;
bottom: 18px;
right: -10px;
width: 156px;
height: 50px;
background: url("./img/eng_sum.svg") 100% 100% no-repeat;
background-size: 156px auto;
}

.motome .catch{
margin: 0 0 20px;
color: #232315;
}
.motome .flame{
position: static;
width: auto;
margin: 0 0 20px;
}
.motome .caption{
text-align: left;
}
.motome .btn-internal{
width: 90%;
}




/* supervise_SP */
.supervise{
position: relative;
margin: 75px 5% 50px;
padding: 40px 0 20px;
background: #fff;
box-shadow: 0px 4px 14px 0px rgba(17, 17, 17, 0.2);
}
.supervise::before{
content: "";
position: absolute;
top: 16px;
left: 0;
width: 100%;
height: 20px;
background: url(./img/eng_sps.svg) 50% 0 no-repeat;
background-size: 115px auto;
}

.supervise .boxTtl{
margin: 0 0 20px;
padding: 0 5%;
font-size:2.3rem;
text-align: center;
}
.supervise .boxTtl .fontS{
display: block;
width: 11rem;
margin: 0 auto 5px;
padding: 5px 3% 6px;
background: #232315;
text-align: center;
line-height: 1.1;
font-size:1.3rem;
color: #fff;
}

.supervise .blBox{
margin: 0 5% 35px 0;
padding: 15px 5% 15px;
background: url(./img/deco_bl.svg) 100% 0 no-repeat #2727e3;
background-size: 40px auto;
color: #fff;
font-size:1.6rem;
line-height: 1.4;
text-align: center;
}
.supervise .blBox .fontL{
font-size:2.0rem;
}


.supervise .intro{
position: relative;
min-height: 0;
margin: 0 5% 15px;
}
.supervise .intro .imgArea{
position: static;
top:0;
left: -250px;
width: 150px;
margin: 0 auto 15px;
}
.supervise .intro .imgArea img{
margin: 0 0 15px;
}
.supervise .intro .sttl{
text-align: center;
font-size:1.4rem;
}
.supervise .intro .sttl .fontS{
display: block;
font-size:1.2rem;
}
.supervise .intro .txtArea{
position: relative;
margin: 0 0 0;
padding: 20px 0 0;
border-top: 1px solid #232315;
}
.supervise .intro .txtArea::before{
content: "";
position: absolute;
top: 10px;
left: 0;
width: 105px;
height: 15px;
background: url("./img/eng_vm.svg") 0 0 no-repeat;
background-size: 105px auto;
}
.supervise .intro .catch{
margin: 0 0 20px;
color: #232315;
}




.supervise .btnArea{
padding: 0 5%;
text-align: center;
}
.supervise .btnArea .btn-web,
.supervise .btnArea .btn-internal{
display: block;
width: 90%;
margin: 0 auto 2em;
}


.supervise .mini{
padding: 40px 5% 0;
}
.supervise .mini .sttl{
margin: 0 0 20px;
}
.supervise .mini .sttl::before{
content: "";
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 1px;
background: #232315;
}
.supervise .mini .sttl span{
position: relative;
z-index: 1;
display: inline-block;
padding: 6px 4% 7px;
background: #fff;
border: 1px solid #232315;
font-size:2.0rem;
line-height: 1.2;
}

.supervise .mini .note{
padding: 0 5% 15px;
text-align: center;
color: #999999;
font-size:1.3rem;
}
.supervise .mini .flameWrap{
overflow: auto;
width: 100%;
margin: 0 0 25px;
}
.supervise .mini .flame{
width: 550px;
margin: 0 0 10px;
}
.supervise .mini .flameWrap::-webkit-scrollbar{
height: 3px;
}
.supervise .mini .flameWrap::-webkit-scrollbar-track{
border-radius: 3px;
background: #ddd;
}
.supervise .mini .flameWrap::-webkit-scrollbar-thumb{
border-radius: 3px;
background: #bbb;
}

.supervise .mini .caption{
text-align: left;
}

.supervise .btnArea2{
margin: 30px 0 0;
}
.supervise .btnArea2 .fuki{
display: block;
width: 180px;
margin: 0 auto 5px;
padding: 0 0 15px;
background: url("./img/fuki.svg") 50% 100% no-repeat;
background-size: 180px auto;
font-size:1.5rem;
font-weight: 700;
text-align: center;
}

.supervise .btnArea2 .btn-web,
.supervise .btnArea2 .btn-internal{
margin: 0 auto 1.5em;
}




/* accTbl_grd_PC */
.accTbl{
position: relative;
margin: 75px 0 100px;
}
.accTbl .text {
height: 280px;
overflow: hidden;
}
.accTbl .show_more2 {
position: absolute;
bottom: 0;
left: 0px;
width: 100%;
height: 70px;
padding-top: 160px;
text-align: center;
line-height: 70px;
background: linear-gradient(
180deg,
rgb(255, 255, 255, 0) 0%,
rgb(255, 255, 255, 1) 80%
);
cursor: pointer;
transition: bottom 0.2s;
}
.accTbl .active{
background: none;
bottom: -10px;
}
.accTbl .show_more2 span{
position: relative;
top: -20px;
display: inline-block;
width: 50%;
padding: 8px 10% 10px;
background: url(./img/plus2.svg) 90% 50% no-repeat #fff;
background-size: 13px auto;
border: 1px solid #232315;
font-size:1.5rem;
font-weight: 700;
text-align: center;
line-height: 1.5;
}
.accTbl .show_more2 span:hover{
opacity: 1;
}
.accTbl .active span{
background: url(./img/minus2.svg) 90% 50% no-repeat #fff;
background-size: 16px auto;
}


.accTbl .tblWrap{
overflow: auto;
width: 88%;
margin: 0 auto 10px;
}
.accTbl .note{
padding: 0 5% 15px;
text-align: center;
color: #999999;
font-size:1.3rem;
}

.accTbl table{
margin: 0 auto 20px;
}
.accTbl table th {
white-space: nowrap;
width: auto;
display: table-cell;
}
.accTbl table td {
display: table-cell;
white-space: nowrap;
}

.accTbl .tblWrap::-webkit-scrollbar{
height: 3px;
}
.accTbl .tblWrap::-webkit-scrollbar-track{
border-radius: 3px;
background: #ddd;
}
.accTbl .tblWrap::-webkit-scrollbar-thumb{
border-radius: 3px;
background: #bbb;
}









/* talk_SP */
.talks{
position: relative;
margin: 75px 0 50px;
}
.talk{
position: relative;
margin: 0 5% 45px;
padding: 15px 5% 20px;
background: #fff;
border: 1px solid #232315;
}
.talk .imgArea{
position: absolute;
top:15px;
right: auto;
left: 5%;
text-align: center;
width: 10rem;
}
.talk:nth-child(2n) .imgArea{
right: auto;
left: 5%;
}
.talk .imgArea .flame{
margin: 0 0 5px;
}
.talk .imgArea img{
border-radius:50%;
}
.talk .imgArea .sttl{
font-size:1.3rem;
}
.talk .imgArea .sttl .fontS{
font-size:1.2rem;
}
.talk .txtArea{
position: relative;
margin: 0 0 0 0;
padding: 0 0 0;
background: none;
border: none;
}
.talk:nth-child(2n) .txtArea{
margin: 0 0 0 0;
}
.talk .txtArea::before{
width: 0;
height: 0;
background: none;
border: none;
}

.talk:nth-child(2n) .txtArea::before{
width: 0;
height: 0;
background: none;
border: none;
}

.talk .txtArea::after{
content: "";
position: absolute;
top: -11px;
left: auto;
right: -16px;
width: 32px;
height: 40px;
transform: scale(-1, 1);
background: url(./img/deco2_bl.svg) 0 0 no-repeat;
background-size: 32px auto;
}
.talk:nth-child(2n) .txtArea::after{
top: -11px;
left: auto;
right: -16px;
width: 32px;
height: 40px;
transform: scale(-1, 1);
background: url(./img/deco2_bl.svg) 0 0 no-repeat;
background-size: 32px auto;
}
.talk .txtArea .catch{
min-height: 125px;
padding: 20px 0 0 12rem;
font-size:1.9rem;
}


/* qa_SP */
.qa{position: relative;margin: 4rem auto;padding: 30px 0 10px;background: #f1f3f3;width: calc(100vw - 6rem);}
.qa .question{
padding: 0 0 5px;
}
.qa .question .catch{
background: #232315;
padding: 16px 5% 18px;
color: #fff;
font-size:1.9rem;
}
.qa .question .catch::before{
content: "";
position: absolute;
top: -45px;
left: -15px;
width: 60px;
height: 60px;
background: url(./img/eng_q.svg) 50% 50% no-repeat #2727e3;
background-size: 21px auto;
}
.qa .answer{
padding: 5px 5%10px;
}
.qa .answer .catch{
padding: 0 0 0 3rem;
font-size:1.9rem;
}
.qa .answer .catch::before{
content: "";
position: absolute;
top: 0;
left: 2px;
width: 18px;
height: 100%;
background: url(./img/eng_a.svg) 50% 4px no-repeat;
background-size: 18px auto;
}



/* interview_SP */
.interview{
position: relative;
margin: 75px 5%;
padding: 20px 5% 20px 5%;
box-shadow: 0px 4px 14px 0px rgba(17, 17, 17, 0.2);
	width: 100%;
}
.interview::before{
content: "";
position: absolute;
top: -15px;
right: 20px;
width: 175px;
height: 100%;
background: url(./img/eng_int.svg) 0 0 no-repeat;
background-size: 175px auto;
}
.interview .flame{
position: absolute;
        width: 18rem;
        float: none;
	z-index: 1;
        margin: -2rem 0 0 -2rem;
}
.interview .txtArea{
width: auto;
float: none;
}
.interview .intro{
position: relative;
min-height: 75px;
margin: 24px 0 20px 14rem;
padding:10px 5% 10px 10%;
background: #2727e3;
color: #fff;
}
.interview .intro::before{
content: "";
position: absolute;
top: 0;
left: 0;
transform: scale(-1, 1);
width: 32px;
height: 100%;
background:none;
background-size: 32px auto;
}
.interview .intro .pos{
position: relative;
z-index: 1;
display: block;
font-size:1.3rem;
}
.interview .intro .sttl{
display: block;
margin: 0 0 0;
font-size:1.7rem;
color: #fff;
}
.interview .intro .sttl .fontS{
font-size:1.4rem;
}
.interview .catch{
padding: 0 5% 0 0;
font-size:2.2rem;
color: #232315;
}
.interview p{
padding: 0 5% 0 0;
}




.hours {
    display: table;
    width: 100%;
}
.hours table tbody {
    display: table-row-group;
}
.hours table tbody tr {
    display: table-row;
}
 .hours table th,.hours table td {
    display: table-cell;
    word-break: break-word;
    width: 22%;
    font-size: 1.2rem;
    padding: 3px;
}







}
/* End_SP */



















