@charset "utf-8";

html,
body{
	font-family:var(--default-font);
	font-feature-settings:"palt";
	font-optical-sizing:auto;
	width:100%;
	font-size:0.95em; line-height:1.8; font-weight:var(--normal);
	color:var(--base-color);
	letter-spacing:0.08em;
	text-align:center;
	min-width:1280px;
	-webkit-text-size-adjust:100%;
  background-color:#fff;
	overflow-wrap:break-word !important;
	word-wrap:break-word !important;
}
html{
	scroll-behavior:smooth;
	scroll-padding-top:80px;
}

.mincho{
	font-family:var(--mincho);
}
.eng{
	font-family:var(--eng-font);
}
h1,h2,h3,h4,strong{
	font-weight:var(--bold);
}
strong{
	font-size:1.05em;
}

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

.mt0{margin-top:0 !important;}
.mt5{margin-top:0.33em !important;}
.mt10{margin-top:0.66em !important;}
.mt15{margin-top:1.0em !important;}
.mt20{margin-top:1.33em !important;}
.mt25{margin-top:1.66em !important;}
.mt30{margin-top:2.0em !important;}
.mt35{margin-top:2.33em !important;}
.mt40{margin-top:2.66em !important;}
.mt45{margin-top:3.0em !important;}
.mt50{margin-top:3.33em !important;}

.mb0{margin-bottom:0 !important;}
.mb5{margin-bottom:0.33em !important;}
.mb10{margin-bottom:0.66em !important;}
.mb15{margin-bottom:1.0em !important;}
.mb20{margin-bottom:1.33em !important;}
.mb25{margin-bottom:1.66em !important;}
.mb30{margin-bottom:2.0em !important;}
.mb35{margin-bottom:2.33em !important;}
.mb40{margin-bottom:2.66em !important;}
.mb45{margin-bottom:3.0em !important;}
.mb50{margin-bottom:3.33em !important;}

ul.li-mb0 > li,
ol.li-mb0 > li{margin-bottom:0 !important;}
ul.li-mb5 > li,
ol.li-mb5 > li{margin-bottom:0.33em !important;}
ul.li-mb10 > li,
ol.li-mb10 > li{margin-bottom:0.66em !important;}
ul.li-mb15 > li,
ol.li-mb15 > li{margin-bottom:1.0em !important;}
ul.li-mb20 > li,
ol.li-mb20 > li{margin-bottom:1.33em !important;}
ul.li-mb25 > li,
ol.li-mb25 > li{margin-bottom:1.66em !important;}
ul.li-mb30 > li,
ol.li-mb30 > li{margin-bottom:2.0em !important;}
ul.li-mb35 > li,
ol.li-mb35 > li{margin-bottom:2.33em !important;}
ul.li-mb40 > li,
ol.li-mb40 > li{margin-bottom:2.66em !important;}
ul.li-mb45 > li,
ol.li-mb45 > li{margin-bottom:3.0em !important;}
ul.li-mb50 > li,
ol.li-mb50 > li{margin-bottom:3.33em !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:0 !important;}

a{
	color:var(--link-color);
	text-decoration:none;
	overflow-wrap:break-word !important;
	word-wrap:break-word !important;
	word-break:break-all;
}
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.website-link::after{
	font-family:var(--bootstrap);
	display:inline-block;
	width:1em; height:auto;
	margin:0 0 0 0.3em;
	position:relative;
	top:3px;
}
a.pdf-link::after{
	content:"\F63E";
	color:#AD0B00;
}
a.excel-link::after{
	content:"\F368";
	color:#016E38;
}
a.word-link::after{
	content:"\F38D";
	color:#2A5698;
}
a.website-link::after{
	content:"\F1C5";
	color:var(--base-light-color);
}

.left,
.alignleft{
	float:left;
	margin:0 1.5em 1.5em 0;
}
.right,
.alignright{
	float:right;
	margin:0 0 1.5em 1.5em;
}
.aligncenter{
	margin:0 auto 1.5em auto !important;
	text-align:center !important;
	display:inline-block;
}

.flex{display:flex;}
.flex-between{justify-content:space-between;}
.flex-center{justify-content:center;}
.flex-wrap{flex-wrap:wrap;}
.flex > .text-box{
	flex:1;
}

.red{color:var(--color-red) !important;}
.hissu{color:#FF0000 !important;}
.pc-block{display:block !important;}
.pc-none{display:none !important;}
.schema-data{display:none !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.2em;
}
ul.kigou-list > li{
  position:relative;
  padding-left:1.2em;
}
ul.kigou-list > li::before{
  content:"※";
  position:absolute;
  top:0; left:0;
}

ul.button-list{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:1.0rem;
}
ul.button-list > li{
	width:240px;
}
ul.button-list > li > a{
	display:block;
	text-decoration:none;
	border:1px solid #999;
	border-radius:9999px;
	font-size:0.85rem; line-height:1.6; font-weight:var(--medium);
	color:var(--base-light-color);
	padding:0.75em 2.0em;
	overflow:hidden;
	position:relative;
	transition:0.2s;
}
ul.button-list > li > a > span{
	position:relative;
	z-index:1;
}
ul.button-list > li > a::before{
	content:"";
	width:100%; height:100%;
	background:var(--main-color);
	position:absolute;
	top:50%; left:50%;
	transform:translate(-50%,-50%) scaleX(0);
	transform-origin:left center;
	transition:0.2s;
}
ul.button-list > li > a::after{
	content:"";
	width:1.3em; height:auto;
	aspect-ratio:1/1;
	background:url(../../img/common/arrow_right.svg) no-repeat center center;
	background-size:contain;
	filter: brightness(0) saturate(100%) invert(44%) sepia(0%) saturate(167%) hue-rotate(161deg) brightness(86%) contrast(84%);
	position:absolute;
	top:50%; right:0.8em;
	transform:translate(0,-50%);
	transition:0.2s;
}
ul.button-list > li > a:hover{
	border-color:var(--main-color);
	color:#fff;
}
ul.button-list > li > a:hover::before{
	transform:translate(-50%,-50%) scaleX(1);
}
ul.button-list > li > a:hover::after{
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(31%) hue-rotate(62deg) brightness(106%) contrast(109%);
}

ul.button-list > li.key-color01 > a:hover{
	border-color:var(--key-color01);
}
ul.button-list > li.key-color01 > a::before{
	background:var(--key-color01);
}
ul.button-list > li.key-color02 > a:hover{
	border-color:var(--key-color02);
}
ul.button-list > li.key-color02 > a::before{
	background:var(--key-color02);
}
ul.button-list > li.key-color03 > a:hover{
	border-color:var(--key-color03);
}
ul.button-list > li.key-color03 > a::before{
	background:var(--key-color03);
}


.fit > img{
	width:100%; height:100%;
	object-fit:cover;
}
.fit.enlarge > img{
	transition:0.4s;
}
a:hover .fit.enlarge > img{
	transform:scale(1.05);
}

/* Screen Reader Only */
.sr-only{
	position:absolute;
	width:1px; height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

/* form reset
++++++++++++++++++++++++++++++*/
:root{
	--form-height:2.8rem;
	--form-height:2.6rem;
	--form-bg:#fdfdfd;
}

input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="submit"],
button,
select,
textarea{
	box-sizing:border-box;
	margin:0; padding:0;
	outline:none;
	-webkit-appearance:none;
	appearance:none;
	border-radius:3px;
	outline:none;
	background:var(--form-bg);
	border:1px solid #CCC;
	width:100%;
	font-family:var(--default-font);
	font-size:0.9rem; line-height:1.6;
	color:var(--base-light-color);
}
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
select{
	height:var(--form-height);
	text-indent:1rem;
}
select::-ms-expand{
  display: none;
}
select:-moz-focusring{
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}
textarea{
	height:200px;
	margin:0;
	padding:1em;
}
.select-wrapper,
.select-wrap{
	display:block;
	box-sizing:border-box;
	height:var(--form-height);
	overflow:hidden;
	background:#fcfcfc;
	border:1px solid #CCC;
	border-radius:3px;
	position:relative;
}
.select-wrapper select,
.select-wrap select{
	width:105%;
	border:none;
	background:transparent;
	position:relative; z-index:2;
}
.select-wrapper::before,
.select-wrap::before{
	content:"";
	width:0.85em; height:auto;
	aspect-ratio:1/0.6;
	clip-path: polygon(100% 0, 0 0, 50% 100%);
	background:var(--main-color);
	position:absolute;
	top:50%; right:0;
	transform:translate(-100%,-50%);
}

input::placeholder{color:var(--base-light-color);}

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;}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
input[type="submit"]{
	height:calc(var(--form-height) + 0.4rem);
	background:var(--main-color);
	border-radius:3px;
	color:#fff; font-weight:var(--bold);
}
.submit-box{
	position:relative;
}
.submit-box:has(input[type="submit"][value="検索"])::before{
	font-family:var(--bootstrap);
	content:"\F52A";
	font-size:1.1em;
	color:#fff;
	position:absolute;
	top:50%; left:50%;
	transform:translate(calc(-50% - 2.0em),-50%);
	pointer-events:none;
}


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

.left{float:left; display:inline;}
.left img{margin-right:20px;}

.right{float:right; display:inline;}

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

.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 */

/* ScrollUp
++++++++++++++++++++++++++++++*/
#scrollUp{
	bottom:0.6rem; right:0.6rem;
	width:3.5rem; height:auto;
	aspect-ratio:1/1;
	border-radius:100%;
	background:rgba(0,164,234,0.4);
	text-indent:-9999px;
	position:relative;
}
#scrollUp::before{
	font-family:var(--google-icon);
	content:"\e316";
	font-size:1.8rem; line-height:1;
	color:#fff;
	text-indent:0;
	position:absolute;
	top:50%; left:50%; z-index:100;
	transform:translate(-50%,-50%);
}
a#scrollUp:hover{border:none;}

/* pagenavi
++++++++++++++++++++++++++++++*/
.pagenavi-box{
  margin-top:30px;
}
.pagenavi-box > .wp-pagenavi{
  padding:0 !important;
  float:none !important;
  display:flex !important;
  flex-wrap:wrap;
	justify-content:center;
}
.pagenavi-box > .wp-pagenavi a,
.pagenavi-box > .wp-pagenavi span.pages,
.pagenavi-box > .wp-pagenavi span.extend,
.pagenavi-box > .wp-pagenavi span.current{
  padding:2px 10px !important;
	font-size:0.9em !important;
}

/* slick reset
++++++++++++++++++++++++++++++*/
.slick-container{
	position:relative;
	min-width:0;
}
/* 同じクラス名のdivとbuttonが重なっているので注意
	divは無効化、buttonの背景に::beforeでアイコンを配置 */
.slick-container .slick-prev,
.slick-container .slick-next{
	display:block;
	font-size:0; line-height:0;
	position:absolute;
	top:50%; z-index:1;
	width:2.0rem; height:auto;
	aspect-ratio:1/1;
	padding:0;
	margin:0;
	transform:translate(0,-50%);
	cursor:pointer;
	color:transparent;
	border:none;
	outline:none;
	background:transparent;
/* 大きさ width は適宜指定。font-size:0;のため、remで指定 */
}
.slick-container div.slick-prev,
.slick-container div.slick-next{
}
.slick-container button.slick-prev,
.slick-container button.slick-next{
	z-index:10;
}
.slick-container .slick-prev{left:-2.5rem;}
.slick-container .slick-next{right:-2.5rem;}
.slick-container button.slick-prev::before,
.slick-container button.slick-next::before{
	font-family:var(--google-icon);
	font-size:2.0rem; line-height:1;
	color:var(--base-light-color);
	font-variation-settings:'wght' 200;
	opacity:0.8;
	position:absolute;
	top:0; left:0;
}
.slick-container button.slick-prev::before{
	content:"\f591";
	content:"\e5e1";
	transform:rotate(180deg);
}
.slick-container button.slick-next::before{
	content:"\f591";
	content:"\e5e1";
}
.slick-container div.slick-prev::before,
.slick-container div.slick-next::before{
	content:"";
	display:none;
}

.slick-slider{
	margin-bottom:0 !important;
}
.slick-container .slick-dots{
	bottom:-30px;
	display:flex;
	justify-content:center;
	align-items:center;
/* 高さ bottom は適宜指定 */
}
.slick-container .slick-dots > li{
	width:1.0rem; height:auto;
	aspect-ratio:1/1;
	margin:0;
	padding:0;
	position:relative;
	cursor:pointer;
/* 大きさ width は適宜指定 */
}
.slick-container .slick-dots > li button{
	display:block;
	width:100%; height:auto;
	aspect-ratio:1/1;
	font-size:0; line-height:0;
	color:transparent;
	padding:0;
	cursor:pointer;
	border:0;
	outline:none;
	background:transparent;
	position:relative;
}
.slick-container .slick-dots > li button::before{
	font-family:var(--default-font);
	content:'';
	font-size:0; line-height:1;
	color:black;
	text-align:center;
	width:50%; height:auto;
	aspect-ratio:1/1;
	background:#000;
	border-radius:100%;
	position:absolute;
	top:50%; left:50%;
	transform:translate(-50%,-50%);
	opacity:0.25;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
/* 色 background は適宜指定 */
}
.slick-container .slick-dots > li.slick-active button::before{
  opacity:0.75;
	color:transparent;
}

/* Google reCAPTCHA バッジの位置 */
.grecaptcha-badge{
	bottom:110px !important;
}

/* GDPRバナー */
#cookie-law-info-bar{
  background:rgba(0,0,0,0.8) !important;
  text-align:center;
}
#cookie-law-info-bar span{
  display:flex;
  justify-content:space-between;
  width:1100px;
  margin:0 auto;
  text-align:left !important;
  color:#FFF;
  font-size:13px; line-height:180%;
}
#cookie-law-info-bar span a.cli-plugin-main-link{
  color:#FFF !important;
  font-weight:normal !important;
}
#cookie-law-info-bar span a.cli-plugin-button{
  flex-basis:100px;
  text-align:center;
  background-color:#CC0000 !important;
  font-weight:bold !important;
  position:relative;
  z-index:10;
}
