@charset "UTF-8";
/*===========================================
common.css
css
============================================*/
@import url('https://cdn.jsdelivr.net/npm/simplebar@5.3.6/dist/simplebar.min.css');

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
.montserrat {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}
:root {
  --main-color: #7117ea;
	--sub-color: #ea6060;
}

img{
	vertical-align:top;
}



html{ font-size: 62.5%; }

a{ text-decoration: none;}
img{ max-width: 100%; height: auto;}




body {
  position: relative;
  color: #000;
	font-size: 1.6rem;
  line-height: 1.5;
  background-color: #fff;
	font-family:   "Montserrat","Zen Kaku Gothic New",'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic', sans-serif;
  height: 100%;
	letter-spacing: 0.02em;
	font-weight: 500;
}
a{ color: #000;} 

main{ padding-top: 94px;}

.header{ height: 94px; background: #fff; width: 100%; position: fixed; z-index: 100;display: -webkit-flex; display: flex; -webkit-justify-content: flex-start;
    justify-content: flex-start; top: 0; transition: all .4s;}

.header .hedlogo{ width: 212px; padding: 32px 30px;}


.hedNavcontnt{  width: calc( 100% - 280px);  margin-left: auto;display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: flex-start;
    align-items: flex-start；
	
}
.gnav{ transition: all .4s;}
.menu-triggerv{ transition: all .4s;}
.hedlogo{ transition: all .4s;}
.gnav span{ cursor: pointer; display: block;}
.hedNavcontnt .gnav{display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: center;
    align-items: center; vertical-align: middle;
align-items: center;
	padding-top: 30px; margin-right: 94px;
}
.gnav a{ transition: all .4s;}
.gnav a:hover{color: #E60012;}



.hedNavcontnt ul.gnav > li{  margin-right: 20px; border-right: 1px solid #000; padding-right: 20px;}
.hedNavcontnt ul.gnav > li:last-child{ border-right: none}




.menu-trigger{
position: fixed;
    right: 0;
    top: 0;
    width: 94px;
    height: 94px;
    box-sizing: border-box;
    z-index: 150;
    cursor: pointer;
    
    box-sizing: border-box;
	background: #E60012;
    
}
 .menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	width: 24px;
}

.tbtnin{ width: 20px; height: 20px; position: relative; top: 24px;
    left: 34px;}
.menu-trigger span {
	position: absolute;
	left: 0;
	
	height: 2px;
	background-color: #fff;
	border-radius: 2px;
}
.menu-trigger.close span {
	background-color: #fff
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top:9px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
.menu-trigger.close span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}
.menu-trigger.close span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.close span:nth-of-type(3) {
	-webkit-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}

.menu-trigger .manutxtx{ color: #fff; width: 100%; position: absolute; bottom: 20px; text-align: center;}



.innerW{ max-width: 1280px; margin: 0 auto; padding: 0 40px;}

.sp {
	display: none ;
}
.pc {
	display: block;
}
.invTit .pc {
	display: inline-block;
}


a.btn{ border-radius: 64px; color: #fff; font-size: 1.6rem; padding:14px 13px; display: block; min-width: 248px; text-align: center; height: 60px; box-sizing: border-box; background: #E60012; line-height: 31px; transition: all .4s;　border: 1px solid #E60012;}
a.btn:hover{ border: 1px solid #E60012; color: #E60012; background: #fff;}
a.btn.centerBtn{ margin: 0 auto; max-width: 248px;}
a.btn.businessBtn{ background: #E06910; border: 1px solid #E06910;}
a.btn.businessBtn:hover{ background: #fff; border: 1px solid #E06910; color:#E06910; }

a.btn.blkbtn{  border: 1px solid #000;}

a.btn.blkbtn{ background: #000}
a.btn.blkbtn:hover{ background: #fff; color: #000;}
a.btn.blkbtn:hover img{ filter: brightness(0) saturate(100%);}


.menuon .hednavcontent{ display: block;}
.hednavcontent{ position: fixed; top:94px; left: 0; width: 100%; height: calc(100vh - 94px);  z-index: 100; display: none; transition: all .4s;}
.nenuinner{ padding:40px; box-sizing: border-box; background: #fff;}
.commtit dt a{ font-size:2.8rem; color: #E60012; font-weight: 600; }
/*.commtit dt a:after{ content: ""; width: 34px; height: 34px; background: url("../img/arrowW.svg") left top no-repeat; background-size:  contain; display: inline-block; vertical-align: middle; margin-left: 8px;}*/
.commtit { margin-bottom: 20px;}
.commtit dt span{ display: inline-block; vertical-align: middle;}
.commtit dd{ font-size: 2.0rem;　font-weight: 500;}
.navctgList{ display: flex; flex-wrap: wrap; ; gap: 10px; margin-bottom: 24px;}
.navctgList li{ width: calc(50% - 5px);}
.navctgList li a{ background:#E60012; color: #fff; display: block; text-align: center; border-radius: 10px; padding: 10px; border: 1px solid #E60012; transition: all .4s;}
.navctgList li a:hover{ color: #E60012; background: #fff;}
.navcomList{ font-weight: 400;}
.navcomList li{ display: inline-block; margin-right: 45px;}
.navcomList li a:before{ content: ""; display: inline-block; width: 4px; height: 2px; border-radius: 1px; background: #E60012; vertical-align: middle; margin-right: 10px;}

.navWrapp{ display: flex; }
.menuleft{ width: 329px; box-sizing: border-box; padding-right: 40px; border-right: 1px solid #E60012;}
.navmenuList{ width: calc(100% - 327px); box-sizing: border-box; padding-left: 40px; }
.navmenuList a:hover dd{ text-decoration: underline;}
.navmenuList li{ width:calc(25% - 60px);}
.navmenuList li dt{ font-size: 1.6rem; font-weight: 600; color: #E60012; margin-bottom: 2px;} 
.navmenuList li dt:after{ content: ""; display: inline-block; width: 12px; height: 12px; background: url("../img/arrow.svg") left top no-repeat; background-size: contain; vertical-align: middle;  margin-left: 5px; margin-top: -3px;}
.navmenuList li dd{ font-size: 1.6rem;}
.navmenuList li{ display: inline-block; margin-right: 55px; margin-bottom: 20px; vertical-align: top;}
.navmenuList li .navcomList li{ display: block; margin-bottom: 5px; width: 100%;}
.navmenuList li .navcomList{ padding-top: 10px;}
/*.navmenuList li.langnav{ margin-top: -80px}*/

.navwarppBottom{ display: flex; justify-content: space-between; align-items:flex-end}
.onlinenav dt{ font-size: 2.0rem; font-weight: 600; color: #E60012; margin-bottom: 5px;}
.navonlinelist { margin-top: 15px;}
.navonlinelist li{ width: 287px; display: inline-block; padding-right: 10px;}
.navonlinelist li a:hover{ opacity: 0.7;}
.navsns{ text-align: right;}
.navsns h4{ margin-bottom: 15px;}
.navsns li{ display: inline-block; }
.navsns li a:hover{ opacity: 0.7;}

.pnav { margin-bottom: 20px; padding-top: 20px}
.pnav li{ display: inline-block;}
.pnav li a:after{content: ">"; display: inline-block; vertical-align: bottom; padding: 0 10px;}



.Pagination {
  display: flex;
  align-items: center;
	justify-content: center;
	margin-top: 44px;
}
.Pagination-Item-Link {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 45px;
  height: 45px;
  background: #fff;
  font-size: 2.4rem;
  color: #000;
  font-weight: 400;
  transition: all 0.15s linear;
}

.prearw{transform: scale(-1, 1);}
.Pagination-Item-Link-Icon {
  width: 20px;
}
.Pagination-Item-Link.isActive {
  pointer-events: none;
  color: #E60012;
}
.Pagination-Item-Link:not(.isActive):hover {
  opacity: 0.5;
}

.navonlinelist li {
	width: 210px;}

@media screen and (min-width:981px) {
.navsns li{ display: inline-block; margin-left: 10px;}
	.navsns h4{ font-size: 1.4rem;}
}


@media screen and (max-width:1660px) {
	.navmenuList li {
    width: calc(33% - 20px);
		    margin-right: 15px;
}
	    .onlineLang {
        display: block;
        justify-content: flex-end;
    }
	.navonlinelist li{ margin-bottom: 20px;}
	.onlineLang .navonlinelist li{ margin-bottom: 0;}
	
}
@media screen and (min-width:1101px) {
	.menuleft .commtit dt{  margin-top: -11px;}
	.onlinenav dt {

    margin-bottom: -4px;
}
	
	.langnav {
    display: flex;
    padding-top: 8px;
  
}

	.nenuinner{
    padding: 20px 40px;
    box-sizing: border-box;
    background: #fff;
}
	.navsns h4{ margin-bottom: 6px;}
	.navonlinelist {
    margin-top: 0;
}
	
		.langnav {
    display: flex;
    padding-top: 8px;
    padding-left: 40px;
}
	    .onlinenav dt {
        margin-bottom: 5px;
    }
	.navwarppBottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 10px;
}
	


}
@media screen and (max-width:1100px) {
	.hedNavcontnt .gnav{ display: none !important}
	.onlineLang{ display: block!important;}
	.header{ height: 64px;}
	.header .hedlogo {
    width: 151px;
    padding: 25px 20px;
}
	.manutxtx{ display: none;}
	.menu-trigger span{ background: #000;}
	.menu-trigger {
    position: fixed;
    right: 0;
    top: 0;
    width: 84px;
    height: 64px;
    box-sizing: border-box;
    z-index: 150;
    cursor: pointer;
    box-sizing: border-box;
    background: #fff;;
}
	.menu-trigger.close span{ background: #000;}
	main {
    padding-top: 64px;
}
	a.btn{ font-size: 1.4rem;}
	
	.hednavcontent {
    background: #fff;
		background-color: transparent;
    position: fixed;
    top: 64px;
    left: 0;
    width: 100%;
		max-height: calc(100vh - 64px);
}
	.nenuinner{ padding: 20px;}
.navWrapp {
    display: block;
	width: 100%;
}
	.menuleft {
    width: 100%;
    box-sizing: border-box;
    padding-right: 0;
    border-right: none;
		border-bottom: 1px solid #E60012;
		box-sizing: border-box; padding: 0 20px;
}
	.navcomList li{  margin-right: 0; margin-bottom: 20px; width: 46%;}
	
	.navmenuList {
    width: 100%;
    box-sizing: border-box;
    padding-left: 0;
		
}
	.navmenuList li.langnav {
    margin-top: 0;
}
	.navwarppBottom{ display: block; text-align: center; border-top: 1px solid #E60012; padding: 40px 20px; }
	.navonlinelist li{ padding-right: 0;}
	.navsns{ text-align: center;}
	.navmenuList li{ display: block; width: 100%; margin-bottom: 30px;}
	.navmenuList{ padding: 20px; box-sizing: border-box;}
	.nenuinner{height: 100vh; 
  overflow-y: scroll; 
	
	}
	.navonlinelist li{ width: 100%; display: block;}
	.navsns{ padding-top: 40px; margin-top: 40px; border-top: 1px solid #000; padding-bottom: 40px;}
	.onlineLang .navonlinelist li{ margin-bottom: 20px;}
	.langnav{ display: block;}

.langnav {
    display: block;
    padding-top: 31px;
    padding-left: 0;
}

}


footer {
    width: 100%;
    overflow: hidden;
    position: relative;
	color: #fff;
    z-index: 2;
   
}
.footNavsBtm{ border-top: 1px solid #E58034; padding-top: 50px;}
.footname{ font-size: 3rem; margin-bottom: 40px;}
.footname:before{ content: ""; display: inline-block; width: 36px; height: 39px; background: url("../img/contentTitimgW.svg") left top no-repeat; background-size: contain; vertical-align: middle; margin-right: 20px;}
.footinner{ padding: 60px 40px 60px 40px; background: #E06910; position: relative; position: relative}
.footinner .innerW{ position: relative;}
.footinner .innerW:after{ content: ""; width: 420px; height: 183px; background: url("../img/footimg.png") left top no-repeat; background-size: contain; position: absolute; right: 0; bottom: -103px;}
.footer a{ color: #fff;}
.footnab{ padding-bottom: 20px; display: flex; flex-wrap:  wrap;}
.footnab li {

    vertical-align: top;
    width: 14%;
    margin-bottom: 20px;
}

.footnab li dt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
}
.footnab li dd{ margin-bottom: 10px;}
.footexlinks { display: flex; column-gap: 40px; margin-bottom: 35px;}
.footexlinks li{ font-size: 1.6rem; font-weight: normal;}
.footexlinks li a:after{  content: "";
    width: 10px;
    height: 10px;
    background: url(../../img/exicon.svg) left center no-repeat;
    display: inline-block;
    vertical-align: middle;
    margin-left: 7px;
    background-size: contain;
    vertical-align: middle;
    margin-top: -2px;}

.footbtminns{ display: flex; justify-content: space-between; align-items: center;}
.footbtm{ padding: 40px 0;}

.footbtm { color: #000;}
.footbtm .navsns h4{ color: #000;}
.footcpLogo{ display: flex; column-gap: 24px;}
.footlang{ display: flex;}

.footnab li dt a:before{ content: ""; width: 4px; height: 4px; background: #fff; display: inline-block; margin-right: 10px; border-radius: 50%; vertical-align: middle;}
.footnab li dd a:before{ content: ""; width: 4px; height: 2px; background: #fff; display: inline-block; margin-right: 10px; border-radius: 50%; vertical-align: middle;}

.pvlist li{ display: inline-block;}
.pvlist li:after{content: "|"; display: inline-block; padding: 0 10px;}
.pvlist li:last-child:after{ display: none;}
.pvlistsec li{ padding-top: 10px; font-weight: normal;}
.footNavsBtm{ position: relative;}
.footlang{ position: absolute; right: 0; top: 40px;}
.footlang dl{ display: flex; align-items: center}
.footlang dl dt{ font-size: 1.6rem; font-weight: bold;}
.footlang dl dd{ font-weight: normal; margin-left: 20px; font-size: 1.4rem;}
	
@media screen and (max-width:980px) {
.openli {
        width: 13px;
        height: 13px;
        background: url(../img/plusW.svg) left top no-repeat;
        background-size: contain;
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        z-index: 10;
    }
	.footnab li dt{ position: relative;}
	.footnab li dd{ display: none}
	    .footnab li dl.active dd {
        display: block;
    }
	.footnab li{ display: block; width: 100%; margin-bottom: 20px;}
	.footbtminns{  flex-wrap: wrap;}
	.footcpLogo{ display: block; width: 100%; text-align: center;order: 3; }
	.cp{ padding-top: 20px;}
	.footbtminns .navsns{ border-top: none; width: 100%; display: block;}
	
	.footinner:after {
    content: "";
    width: 280px;
    height: 120px;
    background: url(../img/footimg.png) left top no-repeat;
    background-size: contain;
    position: absolute;
    left: 50%;
    margin-left: -120px;
    bottom: -80px;
}
	.footinner{ padding: 40px 0 120px 0;}
	.footnab li:first-child dt .openli{ display: none;}
	.footnab li dt a:before{ display: none;}
	.footnab li dt{ border-left: 1px solid #fff; padding-left: 15px;}
	.footinner .innerW:after{ display: none}
	.navonlinelist li{ margin-bottom: 20px;}
	
}

.footNavsBtm{ font-size: 1.2rem;}

@media screen and (min-width:981px) {
	
	.sclon .header { height: 60px;}
	.sclon .manutxtx{ display: none;}
	.sclon .hedNavcontnt .gnav { padding-top: 18px;}
	.sclon .header .hedlogo {
    padding: 17px 30px;
}
	
	.sclon .hednavcontent{ top: 60px;}
	.sclon .menu-trigger{height: 60px;}
	.sclon .tbtnin {top: 20px;}

.sclon .hednavcontent {
    top: 60px;
    height: calc(100vh - 60px);
	overflow-y: scroll;

}
	.onlineLang{ display: flex; justify-content: flex-end}
	.onlinenav{ position: relative;}
	.langnav{ display: flex; padding-top: 6px;;
        padding-left: 40px;}
	.langnav li{ width: auto; margin-right: 0; margin-left: 20px;}
	
}

   

@media screen and (max-width:980px) {
.footlang {
    position: relative;
    right: 0;
    top: auto;
	padding-top: 40px;
}
	footinner {
        padding: 40px 0 80px 0;
    }
	
	 .langnav {
        display: block;
         padding-top: 30px; 
        padding-left: 0;

    }
}

@media screen and (min-width:1661px) {
	.onlinenav{ padding-top: 20px;}
}

@media screen and (max-width:1100px) {
	.navmenuList li dt{ font-size: 2.0rem;}
}

@media screen and (min-width:1100px) {
	.onlinenav dt {
        margin-bottom: 5px;
        font-size: 1.8rem;
    }
	.navcomList li {
    display: inline-block;
    margin-right: 20px;
}
	.langnav{ padding-top: 8px;}
	
	.langnav .navcomList li{ margin-right: 0;}

}

/* =================
clearfix
================= */
.clearfix:after, .cfx:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/* =================





