@charset "utf-8";

html,
body{
	font-family:var(--default-font);
	font-feature-settings:"palt";
	width:100%;
	font-size:1em;
	line-height:1.8;
	font-weight:500;
	letter-spacing:0.08em;
	color:var(--base-color);
	text-align:center;
	min-width:1280px;
	-webkit-text-size-adjust:100%;
  background-color:var(--bg-color);
	overflow-wrap:break-word !important;
	word-wrap:break-word !important;
}

h1,h2,h3,h4,strong{
	font-weight:600;
}
strong{
	font-size:1.05em;
}
.mincho{
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "ＭＳ 明朝", serif !important;
}
.eng{
	font-family:var(--eng-font) !important;
}

.size120{font-size:1.2em; line-height:1.8;}
.size110{font-size:1.1em; line-height:1.8;}
.size95{font-size:0.95em; line-height:1.8;}
.size90{font-size:0.9em; line-height:1.8;}
.size85{font-size:0.85em; line-height:1.8;}
.size80{font-size:0.8em; line-height:1.8;}

.mt0{margin-top:0px !important;}
.mt5{margin-top:5px !important;}
.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}
.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}
.mt30{margin-top:30px !important;}
.mt35{margin-top:35px !important;}
.mt40{margin-top:40px !important;}
.mt45{margin-top:45px !important;}
.mt50{margin-top:50px !important;}

.mb0{margin-bottom:0px !important;}
.mb5{margin-bottom:5px !important;}
.mb10{margin-bottom:10px !important;}
.mb15{margin-bottom:15px !important;}
.mb20{margin-bottom:20px !important;}
.mb25{margin-bottom:25px !important;}
.mb30{margin-bottom:30px !important;}
.mb35{margin-bottom:35px !important;}
.mb40{margin-bottom:40px !important;}
.mb45{margin-bottom:45px !important;}
.mb50{margin-bottom:50px !important;}

.mb025em{margin-bottom:0.25em !important;}
.mb03em{margin-bottom:0.3em !important;}
.mb05em{margin-bottom:0.5em !important;}
.mb06em{margin-bottom:0.6em !important;}
.mb08em{margin-bottom:0.8em !important;}
.mb1em{margin-bottom:1.0em !important;}
.mb125em{margin-bottom:1.25em !important;}
.mb15em{margin-bottom:1.5em !important;}
.mb2em{margin-bottom:2.0em !important;}

ul.li-mb0 > li,
ol.li-mb0 > li{margin-bottom:0px !important;}
ul.li-mb5 > li,
ol.li-mb5 > li{margin-bottom:5px !important;}
ul.li-mb10 > li,
ol.li-mb10 > li{margin-bottom:10px !important;}
ul.li-mb15 > li,
ol.li-mb15 > li{margin-bottom:15px !important;}
ul.li-mb20 > li,
ol.li-mb20 > li{margin-bottom:20px !important;}
ul.li-mb25 > li,
ol.li-mb25 > li{margin-bottom:25px !important;}
ul.li-mb30 > li,
ol.li-mb30 > li{margin-bottom:30px !important;}
ul.li-mb35 > li,
ol.li-mb35 > li{margin-bottom:35px !important;}
ul.li-mb40 > li,
ol.li-mb40 > li{margin-bottom:40px !important;}
ul.li-mb45 > li,
ol.li-mb45 > li{margin-bottom:45px !important;}
ul.li-mb50 > li,
ol.li-mb50 > li{margin-bottom:50px !important;}

ul.li-mb0 > li:last-child,
ol.li-mb0 > li:last-child,
ul.li-mb5 > li:last-child,
ol.li-mb5 > li:last-child,
ul.li-mb10 > li:last-child,
ol.li-mb10 > li:last-child,
ul.li-mb15 > li:last-child,
ol.li-mb15 > li:last-child,
ul.li-mb20 > li:last-child,
ol.li-mb20 > li:last-child,
ul.li-mb25 > li:last-child,
ol.li-mb25 > li:last-child,
ul.li-mb30 > li:last-child,
ol.li-mb30 > li:last-child,
ul.li-mb35 > li:last-child,
ol.li-mb35 > li:last-child,
ul.li-mb40 > li:last-child,
ol.li-mb40 > li:last-child,
ul.li-mb45 > li:last-child,
ol.li-mb45 > li:last-child,
ul.li-mb50 > li:last-child,
ol.li-mb50 > li:last-child{margin-bottom:0px !important;}

ul.disc-list li{
  list-style:disc outside;
}
ol.decimal-list li{
  list-style:decimal outside;
}
ul.disc-list li,
ol.decimal-list li{
  margin-left:1.25em;
}
ul.kigou-list li{
  position:relative;
  padding-left:1.25em;
}
ul.kigou-list li::before{
  content:"※";
  position:absolute;
  top:0; left:0;
}

a{
	color:var(--link-color);
	text-decoration:none;
}
a:hover{
	text-decoration:underline;
}

a.tel-link{
	color:var(--base-color);
	text-decoration:none;
	pointer-events:none;
}
a.pdf-link::after,
a.excel-link::after,
a.word-link::after,
a.zip-link::after{
	content:"";
	width:18px; height:18px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:contain;
	display:inline-block;
	margin:0 0 0 4px;
	position:relative;
	top:3px;
}
a.pdf-link::after{
	background-image:url(../../img/svg/icon_pdf.svg);
}
a.excel-link::after{
	background-image:url(../../img/svg/icon_xls.svg);
}
a.word-link::after{
	background-image:url(../../img/svg/icon_doc.svg);
}
a.zip-link::after{
	background-image:url(../../img/svg/icon_zip.svg);
}
a.website-link::after{
	content:"";
	background:url(../../img/svg/link.svg) no-repeat center center;
	background-size:contain;
	display:inline-block;
	margin:0 0 0 0.2em;
	width:18px; height:18px;
	position:relative;
	top:0.2em;
}

.left{
	float:left;
	margin:0 30px 30px 0;
}
.right{
	float:right;
	margin:0 0 30px 30px;
}
.aligncenter{
	margin:0 auto 20px auto !important;
	text-align:center !important;
	display:inline-block;
}

.flex{display:flex;}
.flex-between{justify-content:space-between;}
.flex-center{justify-content:center !important;}
.flex-wrap{flex-wrap:wrap;}
.flex-reverse{flex-direction:row-reverse;}
.flex > .text-box{flex:1;}

.pc-block{display:block !important;}
.pc-none{display:none !important;}
.schema-data{display:none !important;}
.red{color:var(--red) !important;}

.no-pointer{pointer-events:none;}

.w180{width:180px;}
.w200{width:200px;}
.w240{width:240px;}
.w260{width:260px;}
.w280{width:280px;}
.w300{width:300px;}
.w320{width:320px;}
.w340{width:340px;}
.w360{width:360px;}
.w380{width:380px;}
.w400{width:400px;}
.w420{width:420px;}
.w440{width:440px;}
.w460{width:460px;}
.w480{width:480px;}
.w500{width:500px;}
.w520{width:520px;}
.w540{width:540px;}
.w560{width:560px;}
.w580{width:580px;}
.w600{width:600px;}


/* form reset
++++++++++++++++++++++++++++++*/
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="submit"],
input[type="button"],
input[type="reset"],
select,
textarea{
	box-sizing:border-box;
	margin:0; padding:0;
	outline:none;
	-webkit-appearance:none;
	appearance:none;
	border-radius:3px;
	outline:none;
	background:#fcfcfc;
	border:1px solid #CCC;
	width:100%;
	font-size:1em; line-height:1.8;
	color:var(--base-color);
}
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
select{
	height:42px;
	text-indent:1.0em;
}
select::-ms-expand{
  display:none;
}
select:-moz-focusring{
  color:transparent;
  text-shadow:0 0 0 #828c9a;
}
textarea{
	height:200px;
	margin:0;
	padding:1em;
}
input[type="submit"],
input[type="button"],
input[type="reset"]{
	display:block;
	margin:0 auto;
	width:300px; height:42px;
	border-color:var(--main-color);
	border-radius:24px;
	cursor:pointer;
	transition:0.3s;
}
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover{
	color:#FFF;
	background-color:var(--main-color);
	transition:0.3s;
}
input[type="submit"]:disabled{
	border-color:#ccc;
	color:#666;
	background:#ccc;
	cursor:not-allowed;
	transition:0.3s;
}

.select-wrapper{
	box-sizing:border-box;
	height:42px;
	overflow:hidden;
	background:#fcfcfc;
	border:1px solid #CCC;
	border-radius:3px;
	position:relative;
}
.select-wrapper select{
	width:110%;
	border:none;
	background:transparent;
	position:relative; z-index:2;
}
.select-wrapper::before{
	content:"";
	border-top:6px solid var(--main-color);
	border-left:6px solid transparent;
	border-right:6px solid transparent;
	position:absolute;
	top:50%; right:10px;
	transform:translateY(-50%);
}
::placeholder{
	font-size:0.95rem;
	color:#999 !important;
}

input:focus::-webkit-input-placeholder{color:transparent !important;}
input:focus::-moz-placeholder{color:transparent !important;}
input:focus::-ms-input-placeholder{color:transparent !important;}
input:focus::placeholder{color:transparent !important;}

/* initialize
++++++++++++++++++++++++++++++*/
*{margin:0; padding:0; font-style:normal;}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{
	display: block;
}

img{border:none; display:block;}

.align-left{text-align:left;}
.align-right{text-align:right;}
.align-center{text-align:center;}

.clear{clear:both; display:block;}

li{list-style:none;}


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

.clearfix{display:inline-block;}

/* Hides from IE-mac */
* html .clearfix{height:1%;}
.clearfix{display:block;}
/* End hides from IE-mac */


/* slick reset
++++++++++++++++++++++++++++++*/
.slick-slider{
	margin-bottom:0 !important;
}
.slick-container .slick-dots li{
	position:relative;
	display:inline-block;
	width:20px; height:20px;
	margin:0;
	padding:0;
	cursor:pointer;
}
.slick-container .slick-dots li button{
	font-size:0; line-height:0;
	color:transparent;
	display:block;
	width:20px; height:20px;
	padding:0;
	cursor:pointer;
	border:0;
	outline:none;
	background:transparent;
	position:relative;
}
.slick-container .slick-dots li button::before{
	content:'';
	font-family:var(--default-font);
	font-size:6px; line-height:20px;
	color:black;
	text-align:center;
	position:absolute;
	top:50%; left:50%;
	transform:translate(-50%,-50%);
	width:10px; height:10px;
	background:#fff;
	border-radius:100%;
	opacity:0.25;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
}
.slick-container .slick-dots li.slick-active button::before{
  opacity:0.75;
	color:black;
}


#scrollUp{
	bottom:20px; right:20px;
	width:48px; height:48px;
	text-indent:-9999px;
	background:rgba(18,120,175,0.6);
	border-radius:100%;
	position:relative;
}
#scrollUp::before{
	content:"";
	width:48px; height:48px;
	background-image:url(../../img/common/arrow-up.svg);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:24px auto;
	position:absolute;
	top:0; left:0;
}
a#scrollUp:hover{border:none;}

.grecaptcha-badge{
	bottom:84px !important;
}

/*　button style */
.button-type01 a{
	display:inline-block;
	text-decoration:none;
	font-size:0.9em; line-height:1.2;
	color:var(--base-color);
	background:#fff;
	border:1px solid var(--main-color);
	padding:0.8em 2.8em 0.9em;
	position:relative;
}
.button-type01 a span{
	position:relative;
	z-index:2;
}
.button-type01 a:hover{
	color:#fff;
}
.button-type01 a::before{
	content:"";
	width:0; height:100%;
	background:var(--main-color);
	position:absolute;
	top:0; left:0;
	transition:0.2s;
}
.button-type01 a:hover::before{
	width:100%;
	transition:0.2s;
}
.button-type01 a::after{
	content:"";
	width:0.5em; height:0.5em;
	border-right:1px solid var(--main-color);
	border-top:1px solid var(--main-color);
	position:absolute;
	top:50%; right:15px;
	transform:translateY(-50%) rotate(45deg);
	transition:0.2s;
}
.button-type01 a:hover::after{
	border-right-color:#fff;
	border-top-color:#fff;
	transition:0.2s;
}

.button-type02 a{
	display:inline-block;
	text-decoration:none;
	font-size:0.85em; line-height:1.2;
	color:#fff;
	color:var(--key-color);
	background:var(--key-color);
	background:transparent;
	border:1px solid var(--key-color);
	padding:0.7em 2.4em 0.7em 2.0em;
	position:relative;
	transition:0.1s ease-in;
}
.button-type02 a span{
	position:relative;
	z-index:1;
}
.button-type02 a::before{
	content:"";
	width:100%; height:100%;
	background:var(--key-color);
	position:absolute;
	top:0; left:0;
	transform:scaleX(0);
	transform-origin:left;
	transition:0.1s ease-in;
}
.button-type02 a:hover::before{
	transform:scaleX(1);
	transition:0.1s ease-in;
}
.button-type02 a:hover{
	color:#fff;
	transition:0.1s ease-in;
}
.button-type02 a::after{
	content:"";
	width:0.4em; height:0.4em;
	border-right:1px solid var(--key-color);
	border-top:1px solid var(--key-color);
	position:absolute;
	top:50%; right:10px;
	transform:translateY(-50%) rotate(45deg);
	transition:0.1s ease-in;
}
.button-type02 a:hover::after{
	border-right-color:#FFF;
	border-top-color:#fff;
	transition:0.1s ease-in;
}

ul.button-list{
	display:flex;
	justify-content:center;
}
ul.button-list li{
	margin:0 10px;
}
ul.button-list li a{
	display:inline-block;
	text-decoration:none;
	font-size:0.9em; line-height:1.2;
	color:var(--base-color);
	background:#fff;
	border:1px solid var(--main-color);
	padding:0.8em 2.8em 0.9em;
	position:relative;
}
ul.button-list li a span{
	position:relative;
	z-index:2;
}
ul.button-list li a:hover{
	color:#fff;
}
ul.button-list li a::before{
	content:"";
	width:0; height:100%;
	background:var(--main-color);
	position:absolute;
	top:0; left:0;
	transition:0.2s;
}
ul.button-list li a:hover::before{
	width:100%;
	transition:0.2s;
}
ul.button-list li a::after{
	content:"";
	width:0.5em; height:0.5em;
	border-right:1px solid var(--main-color);
	border-top:1px solid var(--main-color);
	position:absolute;
	top:50%; right:15px;
	transform:translateY(-50%) rotate(45deg);
	transition:0.2s;
}
ul.button-list li a:hover::after{
	border-right-color:#fff;
	border-top-color:#fff;
	transition:0.2s;
}

/* ECバナー */
#ec-banner{
  width:1040px; height:300px;
  margin:80px auto 0;
}
#ec-banner > a{
  width:100%; height:100%;
  display:flex;
  justify-content:space-between;
  background:#fff;
  border-radius:0.25rem;
  overflow:hidden;
  filter:drop-shadow(1px 1px 6px #ededed);
  text-decoration:none;
  color:var(--base-color);
}
#ec-banner > a > figure{
  width:50%; height:100%;
  margin:0;
  overflow:hidden;
}
#ec-banner > a > figure > img{
  width:100%; height:100%;
  object-fit:cover;
  transition:0.2s;
}
#ec-banner > a:hover > figure > img{
  transform:scale(1.05);
}
#ec-banner > a > .text-box{
  flex:1;
  padding:0 2.0rem;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  position:relative;
}
#ec-banner > a > .text-box::before{
  content:"";
  width:100%; height:auto;
  aspect-ratio:860/134;
  aspect-ratio:860/120;
  background-image:url(../../img/index/ec_banner_bg01.png);
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:cover;
  opacity:0.8;
  position:absolute;
  top:0; left:0;
}
#ec-banner > a > .text-box::after{
  content:"";
  width:100%; height:auto;
  aspect-ratio:860/247;
  aspect-ratio:860/134;
  background-image:url(../../img/index/ec_banner_bg02.png);
  background-repeat:no-repeat;
  background-position:center top;
  background-size:cover;
  opacity:0.8;
  position:absolute;
  bottom:0; left:0;
}
#ec-banner > a > .text-box > .logo{
  width:240px;
  margin:0 auto 0.5rem;
}
#index-container #ec-banner a h2{
  font-size:1.5rem; line-height:1.6;
  color:var(--base-color);
}
#ec-banner a h2 > span{
  display:block;
}
#ec-banner .button{
  width:fit-content;
  font-size:0.9rem; line-height:1.8; font-weight:var(--bold);
  color:#fff;
  background:var(--main-color);
  border-radius:9999px;
  padding:0.4em 3.5em 0.5em;
}
#ec-banner .button > span{
  display:inline-block;
  padding-left:1.0rem;
  position:relative;
}
#ec-banner .button > span::before{
  font-family:var(--icon-font);
  content:"\e8cc";
	font-variation-settings:'wght' 300, 'FILL' 1;
  font-size:1.5rem;
  position:absolute;
  top:50%; left:0;
  transform:translate(-50%,-50%);
}
#ec-banner a .button{
  transition:0.2s;
}
#ec-banner a:hover .button{
  transform:scale(1.05);
}
