@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

:root {
  --color-primary:#1e71b8;
}

/*--------------------------------------------------------------------------------------------------------
  ベーススタイル
---------------------------------------------------------------------------------------------------------*/
* { box-sizing:border-box; }
*:focus { outline:none; }
body { font-size:16px; font-family:'Zen Kaku Gothic New', sans-serif; line-height:1.5; letter-spacing:0.05em; text-rendering:optimizeLegibility; font-kerning:normal; font-variant-ligatures:common-ligatures contextual; font-feature-settings:"kern", "liga", "clig", "calt"; }

/*------------------------------
  a
-------------------------------*/
a { color:#000000; text-decoration:none; transition:opacity 0.3s ease-out; }
a img { transition:opacity 0.3s ease-out; }
a:hover { text-decoration:underline; }
a:hover img { opacity:0.7; }
a:hover img.rollOver { opacity:1; }
a[href^="tel:"]{ pointer-events:none; }

a.txtLink { text-decoration:underline; }
a.txtLink:hover { text-decoration:none; }

a.noLink { pointer-events:none; }

/*------------------------------
  img
-------------------------------*/
img { vertical-align:bottom; }
img.hasBd { border:1px solid #cccccc; }

/*------------------------------
  button, input
-------------------------------*/
input,
button,
textarea {
	appearance: none;
	outline: none;
	background-color: transparent;
	background-image: none;
	border-radius: 0;
	border: none;
	font-family: inherit;
}

select {
	appearance: none;
	-webkit-appearance: none;
}

input[type="text"],
input[type="email"],
textarea,
.selectOuter select {
	border: solid 1px #b1b1b1;
	background-color: #fff;
	border-radius: 4px;
	padding: 7px 14px 6px;
	line-height: 1;
	width: 100%;
	box-sizing: border-box;
	font-size: 100%;
}

input[type="text"],
input[type="email"],
.selectOuter {
	max-width: 345px;
}

input[type="text"]::placeholder,
input[type="email"]::placeholder {
	color: #b1b1b1;
}

/* テキストエリア */
textarea {
	width: 100%;
	resize: vertical;
	position: relative;
}

/* チェックボックス（テキスト） */
input[type=checkbox] {
	opacity:0;
	position: absolute;
}

input[type=checkbox] + label,
input[type=checkbox] + label {
	position: relative;
	padding-left: 32px;
	cursor: pointer;
}

input[type=checkbox] + label:before,
input[type=checkbox] + label:after {
	position: absolute;
	content: "";
	display: block;
	top: 50%;
}

input[type=checkbox] + label:before {
	left: 7px;
	width: 5px;
	height: 9px;
	border-right: solid 2px #707172;
	border-bottom: solid 2px #707172;
	transform: translateY(-57%) rotate(45deg);
	opacity: 0;
	z-index: 1;
}

input[type=checkbox] + label:after {
	left: 0;
	width: 18px;
	height: 18px;
	border: solid 1px #b1b1b1;
	border-radius: 4px;
	background-color: #fff;
	transform: translateY(-50%);
}

input[type=checkbox]:checked + label:before {
	opacity: 1;
}

/* ラジオボタン */
input[type="radio"] {
	opacity:0;
	position: absolute;
}

input[type="radio"] + label {
	position: relative;
	padding-left: 35px;
	cursor: pointer;
	display: inline-block;
	min-height: 28px;
}

input[type="radio"] + label::before,
input[type="radio"] + label::after {
	position: absolute;
	content: "";
	display: block;
}

input[type="radio"] + label::before {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #707172;
	opacity: 0;
	z-index: 1;
	top: 50%;
	left: 5px;
	transform: translateY(-50%);
}

input[type="radio"] + label::after {
	top: 50%;
	left: 0;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background-color: #eaeaea;
	transform: translateY(-50%);
}

input[type="radio"]:checked + label::before {
	opacity: 1;
}

/* select */
.selectOuter {
	position: relative;
	cursor: pointer;
}

.selectOuter select {
	position: relative;
	padding-right: 30px;
	appearance: none;
	cursor: pointer;
	line-height: 1.5;
}

.selectOuter::after {
	content: '';
	position: absolute;
	right: 15px;
	top: 45%;
	width: 5px;
	height: 5px;
	transform: rotate(45deg) translateY(-50%);
	background-color: transparent;
	z-index: 1;
}

.selectOuter::after {
	border-right: solid 1px #000;
	border-bottom: solid 1px #000;
}

.selectOuter option {
	border-top: solid 1px #ccc;
}

.selectOuter option:checked {
	background-color: #e5eff8;
}

.selectOuter select:disabled {
	cursor: default;
}

/*------------------------------
  layout
-------------------------------*/
.centering { margin-left:auto !important; margin-right:auto !important; }

/*------------------------------
  text
-------------------------------*/
/* text-align */
.txtCenter { text-align:center !important; }
.txtRight { text-align:right !important; }
.txtLeft { text-align:left !important; }

/* font-weight */
.txtBold { font-weight:bold !important; }
.txtNormal { font-weight:normal !important; }

/* text-indent,text-decoration */
.txtIndent { text-indent:1em !important; }
.txtUnderLine { text-decoration:underline !important; }

/* whitespace */
.wsNowrap { white-space:nowrap !important; }

/*------------------------------
  background
-------------------------------*/
/* bgNone */
.bgNone { background:none !important; }

/*------------------------------
  font-size
-------------------------------*/
.f10 { font-size:63% !important; }
.f11 { font-size:69% !important; }
.f12 { font-size:75% !important; }
.f13 { font-size:82% !important; }
.f14 { font-size:88% !important; }
.f15 { font-size:94% !important; }
.f16 { font-size:100% !important; }
.f17 { font-size:107% !important; }
.f18 { font-size:113% !important; }
.f19 { font-size:119% !important; }
.f20 { font-size:125% !important; }
.f21 { font-size:132% !important; }
.f22 { font-size:138% !important; }
.f23 { font-size:144% !important; }
.f24 { font-size:150% !important; }
.f25 { font-size:157% !important; }
.f26 { font-size:163% !important; }

/*------------------------------
  margin-top
-------------------------------*/
.mt0 { margin-top: 0 !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; }
.mt55 { margin-top: 55px !important; }
.mt60 { margin-top: 60px !important; }
.mt65 { margin-top: 65px !important; }
.mt70 { margin-top: 70px !important; }
.mt75 { margin-top: 75px !important; }
.mt80 { margin-top: 80px !important; }
.mt85 { margin-top: 85px !important; }
.mt90 { margin-top: 90px !important; }
.mt95 { margin-top: 95px !important; }
.mt100 { margin-top: 100px !important; }

/*------------------------------
  position
-------------------------------*/
.posRel { position:relative !important; }
.posAbs { position:absolute !important; }

/*------------------------------
  valign
-------------------------------*/
.vTop { vertical-align:top !important; }
.vMiddle { vertical-align:middle !important; }
.vBottom { vertical-align:bottom !important; }

/*------------------------------
  line-height
-------------------------------*/
.lh1_0 { line-height:1 !important; }
.lh1_1 { line-height:1.1 !important; }
.lh1_2 { line-height:1.2 !important; }
.lh1_3 { line-height:1.3 !important; }
.lh1_4 { line-height:1.4 !important; }
.lh1_5 { line-height:1.5 !important; }
.lh1_6 { line-height:1.6 !important; }
.lh1_7 { line-height:1.7 !important; }
.lh1_8 { line-height:1.8 !important; }
.lh1_9 { line-height:1.9 !important; }
.lh2_0 { line-height:2 !important; }

/*------------------------------
  word-break
-------------------------------*/
.wbBa { word-break:break-all !important; }

/*------------------------------
  display
-------------------------------*/
.displayBlock { display:block !important; }
.displayInlineBlock { display:inline-block !important; }
.displayInline { display:inline !important; }
.displayNone { display:none !important; }
.displayFlex { display:flex !important; }
.jcCenter { justify-content:center !important; }
.jcSb { justify-content:space-between !important; }
.jcSa { justify-content:space-around !important; }
.aiCenter { align-items:center !important; }
.aiFs { align-items:flex-start !important; }
.aiFe { align-items:flex-end !important; }
.fdRowRev { flex-direction:row-reverse !important; }

/*------------------------------
  visibility
-------------------------------*/
.vHidden { visibility:hidden !important; }
.vVisible { visibility:visible !important; }

/*------------------------------
  margin
-------------------------------*/

/*------------------------------
  width
-------------------------------*/
.wAuto { width:auto !important; }
.w100per { width:100% !important; }

/*------------------------------
  min/max width
-------------------------------*/
.minWAuto { min-width:initial !important; min-width:auto !important; }
.maxWAuto { max-width:initial !important; max-width:auto !important; }

/*------------------------------
  アニメーション
-------------------------------*/
.animTarget { opacity:0; transition:opacity 1.5s; }
.animLeftTarget { opacity:0; transition:opacity 1.5s, transform 1.5s; transform:translate(-40px, 0); }
.animRightTarget { opacity:0; transition:opacity 1.5s, transform 1.5s; transform:translate(40px, 0); }
.animBottomTarget { opacity:0; transition:opacity 1.5s, transform 1.5s; transform:translate(0, 40px); }
.animTopTarget { opacity:0; transition:opacity 1.5s, transform 1.5s; transform:translate(0, -40px); }
.animTarget.animStart { opacity:1 !important; }
.animLeftTarget.animStart,
.animRightTarget.animStart,
.animBottomTarget.animStart,
.animTopTarget.animStart{ opacity:1 !important; transform:translate(0, 0) !important; }

/*--------------------------------------------------------------------------------------------------------
  共通パーツ
---------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------
  コメント用
-------------------------------------------------------------*/
p.atComment,
span.atComment { margin-left:1em; text-indent:-1em; }
p.atComment1Half { margin-left:1.5em; text-indent:-1.5em; }
p.atComment2 { margin-left:2em; text-indent:-2em; }
p.atComment2Half { margin-left:2.5em; text-indent:-2.5em; }

ul.atComment li { margin-left:1em; text-indent:-1em; margin-top:1em; }
ul.atComment1Half li { margin-left:1.5em; text-indent:-1.5em; margin-top:1em; }
ul.atComment2 li { margin-left:2em; text-indent:-2em; margin-top:1em; }
ul.atComment2Half li { margin-left:2.5em; text-indent:-2.5em; margin-top:1em; }

ol.atComment li { margin-left:1em; text-indent:-1em; margin-top:1em; }
ol.atComment1Half li { margin-left:1.5em; text-indent:-1.5em; margin-top:1em; }
ol.atComment2 li { margin-left:2em; text-indent:-2em; margin-top:1em; }
ol.atComment2Half li { margin-left:2.5em; text-indent:-2.5em; margin-top:1em; }

ul.atComment.sbs,
ul.atComment1Half.sbs,
ul.atComment2.sbs,
ul.atComment2Half.sbs,
ol.atComment.sbs,
ol.atComment1Half.sbs,
ol.atComment2.sbs,
ol.atComment2Half.sbs { display:flex; }
ul.atComment.sbs li,
ul.atComment1Half.sbs li,
ul.atComment2.sbs li,
ul.atComment2Half.sbs li,
ol.atComment.sbs li,
ol.atComment1Half.sbs li,
ol.atComment2.sbs li,
ol.atComment2Half.sbs li { display:flex; margin-right:30px; margin-bottom:10px; }

/*------------------------------------------------------------
  その他エリア
-------------------------------------------------------------*/

/*------------------------------------------------------------
  お問い合わせエリア
-------------------------------------------------------------*/

/*--------------------------------------------------------------------------------------------------------
  共通レイアウト
---------------------------------------------------------------------------------------------------------*/
#container { width:100%; }

/*------------------------------------------------------------
  ヘッダー
-------------------------------------------------------------*/
#headerWrap { width:100%; border-top:5px solid #1e71b8; }

#headerWrap #headerSec { display:flex; justify-content:space-between; align-items:center; padding:0 3.5% 0 1.5%; }
#headerWrap #headerSec #headerLogo a { display:flex; align-items:center; font-weight:bold; }
#headerWrap #headerSec #headerLogo a > span { display:block; transition:color 0.2s ease-out; }
#headerWrap #headerSec #headerLogo a > span:nth-child(2) { margin-left:0.4em; font-size:188%; letter-spacing:0.14em; }
#headerWrap #headerSec #headerLogo a:hover { text-decoration:none; }
#headerWrap #headerSec #headerLogo a:hover > span { color:var(--color-primary); }

#headerWrap #headerSec #subMenuArea ul { display:flex; }
#headerWrap #headerSec #subMenuArea ul li { margin-left:50px; }
#headerWrap #headerSec #subMenuArea ul li:first-child { margin-left:0; }
#headerWrap #headerSec #subMenuArea ul li a { transition:color 0.2s ease-out; }
#headerWrap #headerSec #subMenuArea ul li a:hover { text-decoration:none; color:var(--color-primary); }

#headerWrap #headerMenuBtn { display:none; }

/*------------------------------------------------------------
  お問い合わせ
-------------------------------------------------------------*/
.commonContact { background-color: #e8f7f6; }
.commonContact a { display: block; padding: 60px 0 68px; }
.commonContact a:hover { text-decoration: none; opacity: 0.7; }
.commonContact .contentsOuter { display: flex; align-items: center; justify-content: space-between; }
.commonContact .contentsOuter h2 { font-size: 250%; font-weight: 400; background: linear-gradient(90deg, #004dac 0%, #0abcb2 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.commonContact .contentsOuter h2 + div { font-size: 88%; line-height: 1; }
.commonContact .contentsOuter > p { margin-right: auto; margin-left: 65px; line-height: 1.7; }

/*------------------------------------------------------------
  フッター
-------------------------------------------------------------*/
#footerWrap { width:100%; padding:30px; background:linear-gradient(90deg, rgb(7, 95, 175), rgb(13, 162, 178)); color:#ffffff; position:relative; letter-spacing:0.1em; }
#footerWrap a { color:#ffffff;}
#footerWrap #footerSec { max-width:1200px; margin:0 auto; padding-right:30px; }
#footerWrap #footerSec #footerAddressArea { display:flex; justify-content:space-between; }
#footerWrap #footerSec #footerAddressArea #footerAddress01Inner h2 { margin-top: 10px; }
#footerWrap #footerSec #footerAddressArea #footerAddress01Inner h2 + p { margin-top:10px; }
#footerWrap #footerSec #footerAddressArea #footerAddress01Inner h2 + p + p { margin-top:5px; }
#footerWrap #footerSec #footerAddressArea #footerAddress01Inner h2 + p + p span { font-size: 88%; }

#footerWrap #footerSec #footerCopyrightArea { margin-top:35px; }
#footerWrap #footerSec #footerCopyrightArea p { font-size:88%; }

#footerWrap #backTopBtn { position:fixed; right:0; bottom:0; transform:translateY(200%); transition:transform 0.6s ease-out; box-shadow:0px 0px 6px 0px rgba(210, 210, 210, 1); }
#footerWrap #backTopBtn.show { transform:translateY(0); }
#footerWrap #backTopBtn.posAbs { bottom:auto; top:0; box-shadow:none; }
#footerWrap #backTopBtn a { display:flex; align-items:center; padding:30px 42px 35px; background-color:#ffffff; color:#000000; transition:color 0.2s ease-out; }
#footerWrap #backTopBtn a img { width:12px; transition:filter 0.2s ease-out; }
#footerWrap #backTopBtn a:hover img { filter:invert(29%) sepia(99%) saturate(1099%) hue-rotate(185deg) brightness(95%) contrast(82%); }

/*------------------------------------------------------------
  コンテンツ
-------------------------------------------------------------*/
main {  }

.contentsOuter { max-width: 1200px; margin: 0 auto; }
.contentsMOuter { max-width: 1000px; }

/*------------------------------------------------------------
  ページMV
-------------------------------------------------------------*/
.pagesMv { overflow: hidden; background-image: radial-gradient(circle, #29aebf, #1c8eb8 98%); }
.pagesMv .contentsOuter { min-height: 200px; display: flex; justify-content: center; align-items: center; padding: 30px 0 15px; }
.pagesMv h1 { font-size: 250%; letter-spacing: 0.15em; font-weight: 500; color: #fff; text-align: center; }
.pagesMv h1 span { display: block; letter-spacing: 0.1em; font-size: 35%; font-weight: normal; margin-top: 5px; }

/*------------------------------------------------------------
  パンくずリスト
-------------------------------------------------------------*/
ul#breadcrumbsList { margin-top: 10px; display: flex; flex-wrap: wrap; font-size: 87%; }
ul#breadcrumbsList li { margin-left: 10px; padding-left: 25px; position: relative; }
ul#breadcrumbsList li:first-child { margin-left: 0; padding-left: 0; }
ul#breadcrumbsList li::before { content: ""; width: 7px; height: 7px; transform: rotate(45deg); border-top: solid 1px #000; border-right: solid 1px #000; position: absolute; left: 0; top: 7px; }
ul#breadcrumbsList li:first-child::before { display: none; }
ul#breadcrumbsList li a {  }
ul#breadcrumbsList + .contentsSec { margin-top: 40px; }

/*------------------------------------------------------------
  ページ共通
-------------------------------------------------------------*/
/* セクション */
.contentsSec { margin-top: 85px; }
.contentsSec p { line-height: 1.75; }
.contentsSec * + p { margin-top: 30px; }
.contentsSec * + ul { margin-top: 30px; }
.contentsSec:last-of-type { margin-bottom: 95px; }

/* タイトル */
.commonTitle { font-size: 200%; font-weight: 500; line-height: 1.5; color: #0761af; }
.commonTitle + *,
.contentsSec .commonTitle + p { margin-top: 40px; }

/* リスト */
.commonList { margin-top: 55px; width: 100%; border-bottom: 2px dotted #d6d6d6; }
.commonList li { padding: 35px 0 38px; border-top: 2px dotted #d6d6d6; display: flex; flex-wrap: wrap; }

.discList li { position: relative; padding-left: 30px; }
.discList li::before { content: "・"; position: absolute; left: 5px; top: 0; }
.discList li:nth-child(n+2) { margin-top: 5px; }

.numList li { display: flex; }
.numList li .listNum { width: 20px; text-align: right; margin-right: 10px; }
.numList li .listNum + div { flex: 1; }
.numList li:nth-child(n+2) { margin-top: 5px; }

.circleNumList li { padding-left: 1em; text-indent: -1em; }


/* ボタン */
.commonBtn { background-color: #0862af; color: #fff; border-radius: 4px; }
.commonBtn:hover { opacity: 0.7; }
.commonBtn:disabled { background-color: #ddd; }
.commonBtn:disabled:hover { opacity: 1; }


/* テーブル */
.commonTable { width: 100%; border-collapse: collapse; border-bottom: 1px solid #d0d0d0; }
.commonTable th,
.commonTable td { border-top: 1px solid #d0d0d0; text-align: left; padding: 35px 40px; }
.commonTable th { color: #0a7fb0; }
.commonTable td { }

.formTable { margin-top: 40px; }
.formTable th { width: 300px; padding: 38px 0; font-size: 125%; vertical-align: middle; font-weight: 400; }
.formTable th .formRequired { color: #fff; background-color: #de0606; font-size: 70%; padding: 1px 7px 2px; border-radius: 4px; margin-left: 10px; }
.formTable td { padding: 38px 36px; vertical-align: middle; }
.formTable td ul.radioList { display: flex; }
.formTable td ul.radioList li:nth-child(n+2) { margin-left: 25px; }
.formTable td ul + div { margin-top: 15px; }
.formTable td .inputL { max-width: 100%; }
.formTable td .inputPost { display: flex; align-items: center; } 
.formTable td .inputPost input { margin-left: 15px; max-width: 315px; }
.formTable td .inputPost .commonBtn { margin-left: 25px; padding: 8px 14px; max-width: 225px; width: 100%; font-size: 100%; text-align: center; }

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

#footerWrap { padding-right:100px; }

}

@media screen and (max-width:1300px){
	
	/*------------------------------------------------------------
	  コンテンツ
	-------------------------------------------------------------*/
	.contentsOuter { width: 90%; }
	.contentsSec img { max-width: 100%; }
}

/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  ■タブレット用CSS■
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1200px){

/*--------------------------------------------------------------------------------------------------------
  ベーススタイル
---------------------------------------------------------------------------------------------------------*/
/* body { font-size:max(1.2vw,14px); } */

/*------------------------------
  margin
-------------------------------*/

/*------------------------------
  width
-------------------------------*/
.tabWAuto { width:auto !important; }
.tabW100per { width:100% !important; }

/*--------------------------------------------------------------------------------------------------------
  共通パーツ
---------------------------------------------------------------------------------------------------------*/

/*--------------------------------------------------------------------------------------------------------
  共通レイアウト
---------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------
  ヘッダー
-------------------------------------------------------------*/
#headerWrap #headerSec #subMenuArea ul li { margin-left:3vw; }

/*------------------------------------------------------------
  フッター
-------------------------------------------------------------*/
#footerWrap { padding:3vw 10vw 3vw 3vw; }
#footerWrap #footerSec { padding-right:3vw; }
#footerWrap #footerSec #footerAddressArea #footerAddress01Inner h2 + p { margin-top:1vw; }
#footerWrap #footerSec #footerAddressArea #footerAddress01Inner h2 + p + p { margin-top:0.5vw; }
#footerWrap #footerSec #footerCopyrightArea { margin-top:7.5vw; }
#footerWrap #backTopBtn a { padding:3vw 4vw 3.5vw; }
#footerWrap #backTopBtn a img { width:1vw; }

/*------------------------------------------------------------
  タイトル・パンくず
-------------------------------------------------------------*/

/*------------------------------------------------------------
  コンテンツ
-------------------------------------------------------------*/
main { }

}

/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  ■スマートフォン用CSS■
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:750px){

/*--------------------------------------------------------------------------------------------------------
  ベーススタイル
---------------------------------------------------------------------------------------------------------*/
body { font-size:4vw; font-size:min(4vw,18px); }

/*------------------------------
  a
-------------------------------*/
a[href^="tel:"] { pointer-events:auto; }
	
a:hover { text-decoration:none; }
a:hover img { opacity:1; }

/*------------------------------
  img
-------------------------------*/
img { width:100%; }

/*------------------------------
  layout
-------------------------------*/
.spCentering { margin-left:auto !important; margin-right:auto !important; }

/*------------------------------
  text
-------------------------------*/
/* text-align */
.spTxtCenter { text-align:center !important; }
.spTxtLeft { text-align:left !important; }
.spTxtRight { text-align:right !important; }

/* font-weight */
.spTxtBold { font-weight:bold !important; }
.spTxtNormal { font-weight:normal !important; }

/*------------------------------
  font-size
-------------------------------*/
.spF2_0vw { font-size:2vw !important; }
.spF2_1vw { font-size:2.1vw !important; }
.spF2_2vw { font-size:2.2vw !important; }
.spF2_3vw { font-size:2.3vw !important; }
.spF2_4vw { font-size:2.4vw !important; }
.spF2_5vw { font-size:2.5vw !important; }
.spF2_6vw { font-size:2.6vw !important; }
.spF2_7vw { font-size:2.7vw !important; }
.spF2_8vw { font-size:2.8vw !important; }
.spF2_9vw { font-size:2.9vw !important; }
.spF3_0vw { font-size:3vw !important; }
.spF3_1vw { font-size:3.1vw !important; }
.spF3_2vw { font-size:3.2vw !important; }
.spF3_3vw { font-size:3.3vw !important; }
.spF3_4vw { font-size:3.4vw !important; }
.spF3_5vw { font-size:3.5vw !important; }
.spF3_6vw { font-size:3.6vw !important; }
.spF3_7vw { font-size:3.7vw !important; }
.spF3_8vw { font-size:3.8vw !important; }
.spF3_9vw { font-size:3.9vw !important; }
.spF4_0vw { font-size:4vw !important; }
.spF4_1vw { font-size:4.1vw !important; }
.spF4_2vw { font-size:4.2vw !important; }
.spF4_3vw { font-size:4.3vw !important; }
.spF4_4vw { font-size:4.4vw !important; }
.spF4_5vw { font-size:4.5vw !important; }
.spF4_6vw { font-size:4.6vw !important; }
.spF4_7vw { font-size:4.7vw !important; }
.spF4_8vw { font-size:4.8vw !important; }
.spF4_9vw { font-size:4.9vw !important; }
.spF5_0vw { font-size:5vw !important; }
.spF5_1vw { font-size:5.1vw !important; }
.spF5_2vw { font-size:5.2vw !important; }
.spF5_3vw { font-size:5.3vw !important; }
.spF5_4vw { font-size:5.4vw !important; }
.spF5_5vw { font-size:5.5vw !important; }
.spF5_6vw { font-size:5.6vw !important; }
.spF5_7vw { font-size:5.7vw !important; }
.spF5_8vw { font-size:5.8vw !important; }
.spF5_9vw { font-size:5.9vw !important; }
.spF6_0vw { font-size:6vw !important; }

/*------------------------------
  margin-top
-------------------------------*/
.spMt0 { margin-top: 0 !important; }
.spMt5 { margin-top: 5px !important; }
.spMt10 { margin-top: 10px !important; }
.spMt15 { margin-top: 15px !important; }
.spMt20 { margin-top: 20px !important; }
.spMt25 { margin-top: 25px !important; }
.spMt30 { margin-top: 30px !important; }
.spMt35 { margin-top: 35px !important; }
.spMt40 { margin-top: 40px !important; }
.spMt45 { margin-top: 45px !important; }
.spMt50 { margin-top: 50px !important; }
.spMt55 { margin-top: 55px !important; }
.spMt60 { margin-top: 60px !important; }
.spMt65 { margin-top: 65px !important; }
.spMt70 { margin-top: 70px !important; }
.spMt75 { margin-top: 75px !important; }
.spMt80 { margin-top: 80px !important; }
.spMt85 { margin-top: 85px !important; }
.spMt90 { margin-top: 90px !important; }
.spMt95 { margin-top: 95px !important; }
.spMt100 { margin-top: 100px !important; }
	
	
/*------------------------------
  float
-------------------------------*/
.fLeft { float:none !important; }
.fRight { float:none !important; }
.spFLeft { float:left !important; }
.spFRight { float:right !important; }
.spCentering { margin-left:auto !important; margin-right:auto !important; }

/* clearfix */
.spCf::before,
.spCf::after { display:table; content:""; }
.spCf::after { clear:both; }
.spCf { zoom:1; }
.spCb { clear:both; }

/*------------------------------
  margin
-------------------------------*/

/*------------------------------
  width
-------------------------------*/
.spWAuto { width:auto !important; }
.spW100per { width:100% !important; }

/*------------------------------
  line-height
-------------------------------*/
.spLh1_0 { line-height:1 !important; }
.spLh1_1 { line-height:1.1 !important; }
.spLh1_2 { line-height:1.2 !important; }
.spLh1_3 { line-height:1.3 !important; }
.spLh1_4 { line-height:1.4 !important; }
.spLh1_5 { line-height:1.5 !important; }
.spLh1_6 { line-height:1.6 !important; }
.spLh1_7 { line-height:1.7 !important; }
.spLh1_8 { line-height:1.8 !important; }
.spLh1_9 { line-height:1.9 !important; }
.spLh2_0 { line-height:2 !important; }

/*------------------------------
  display
-------------------------------*/
.spDisplayBlock { display:block !important; }
.spDisplayInline { display:inline !important; }
.spDisplayNone { display:none !important; }

/*--------------------------------------------------------------------------------------------------------
  共通パーツ
---------------------------------------------------------------------------------------------------------*/
/*------------------------------
  button, input
-------------------------------*/
	
	/* select */
	.selectOuter::after { width: 7px; height: 7px; right: 20px; }
	
	
/*---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  共通レイアウト
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------
  ヘッダー
-------------------------------------------------------------*/
	#headerWrap { position:fixed; left:0; top:0; z-index:100; width:100%; background-color:#ffffff; border-top-width:1vw; transition:box-shadow 0.3s ease-out; }
	#headerWrap.showLine { box-shadow:1px 1px #eeeeee; }

	#headerWrap #headerSec { display:block; padding:0; width: 90%; margin: 0 auto; position:relative; }
	#headerWrap #headerSec #headerLogo { width: 38%; max-width: 128px; }

#headerWrap #headerSec #subMenuArea { display:none; padding:3vw 0; }
#headerWrap #headerSec #subMenuArea ul { display:block; border-top:1px solid #d6d6d6; }
#headerWrap #headerSec #subMenuArea ul li { margin:0; border-bottom:1px solid #d6d6d6; }
#headerWrap #headerSec #subMenuArea ul li a { padding:3vw 7vw 3vw 2vw; display:block; position:relative; }
	#headerWrap #headerSec #subMenuArea ul li a:hover { color: #000; }
#headerWrap #headerSec #subMenuArea ul li a::after { content:''; margin:auto; position:absolute; top:0; bottom:0; right:3vw; width:2vw; height:2vw; border-top:1px solid var(--color-primary); border-right:1px solid var(--color-primary); transform:rotate(45deg); }

#headerWrap #headerMenuBtn { margin-left:50px; width:55px; position:absolute; right:-1.5%; top:0; z-index:100; text-align:center; display:block; }
#headerWrap #headerMenuBtn > span { display:block; position:absolute; left:50%; transform:translateX(-50%); color:#333333; }

#headerWrap #headerMenuBtn button,
#headerWrap #headerMenuBtn button span { display:inline-block; transition:transform 0.3s ease-out; box-sizing:border-box; }
#headerWrap #headerMenuBtn button { position:relative; padding:10px; width:55px; height:55px; appearance:none; cursor:pointer; }
#headerWrap #headerMenuBtn button span { position:absolute; left:0; width:58%; height:2px; background-color:var(--color-primary); border-radius:4px; }
#headerWrap #headerMenuBtn button span:nth-of-type(1) { top:30%; left:22%; transform:translate(0, 0); }
#headerWrap #headerMenuBtn button span:nth-of-type(2) { top:51%; left:22%; transform:translate(0, -50%); }
#headerWrap #headerMenuBtn button span:nth-of-type(3) { bottom:27%; left:22%; transform:translate(0, 0); }
#headerWrap #headerMenuBtn button.active span { width:60%; }
#headerWrap #headerMenuBtn button.active span:nth-of-type(1) { top:47%; left:21%; transform:translate(0, 0) rotate(-135deg); }
#headerWrap #headerMenuBtn button.active span:nth-of-type(2) { opacity:0; }
#headerWrap #headerMenuBtn button.active span:nth-of-type(3) { bottom:47%; left:21%; transform:translate(0, 0) rotate(135deg); }

#headerWrap #headerMenuBtn { margin-left:0; width:auto; }
#headerWrap #headerMenuBtn button { padding:1vw; width:4.4vw; height:4.4vw; }

#headerWrap #headerMenuBtn { text-align:center; }
#headerWrap #headerMenuBtn button { padding:2vw; width:11vw; height:11vw; }

	
/*------------------------------------------------------------
  お問い合わせ
-------------------------------------------------------------*/
	.commonContact a { padding: 25px 0 35px; }
	.commonContact a:hover { opacity: 1; }
	.commonContact .contentsOuter { flex-wrap: wrap; align-items: flex-end; }
	.commonContact .contentsOuter > div { width: 100%; text-align: center; }
	.commonContact .contentsOuter h2 { font-size: 220%; }
	.commonContact .contentsOuter h2 + div { font-size: 113%; }
	.commonContact .contentsOuter > p { margin-left: 0; margin-top: 22px; width: 70%; }
	.commonContact .contentsOuter > div.arrowImg { margin-bottom: 3%; max-width: 55px; }
	
/*------------------------------------------------------------
  フッター
-------------------------------------------------------------*/
	#footerWrap { padding:6vw; }
	#footerWrap #footerSec #footerAddressArea { display:block; }
	#footerWrap #footerSec #footerAddressArea #footerAddress01Inner { font-size: 94%; }
	#footerWrap #footerSec #footerAddressArea #footerAddress01Inner h2 { max-width: 155px; }
	#footerWrap #footerSec #footerAddressArea #footerAddress01Inner h2 + p { margin-top: 2vw; }
#footerWrap #footerSec #footerAddressArea #footerAddress02Inner { margin-top:3vw; display:none; }
#footerWrap #footerSec #footerCopyrightArea { margin-top:8vw; }
#footerWrap #footerSec #footerCopyrightArea p { font-size:min(2.5vw,12px); }
	#footerWrap #footerSec #footerAddressArea #footerAddress01Inner h2 + p + p span { font-size: 100%; line-height: 2; }

#footerWrap #backTopBtn a { padding:3.5vw 4.5vw 4vw; }
#footerWrap #backTopBtn a img { width:3vw; max-width:15px; }
	#footerWrap #backTopBtn a:hover img { filter: none; opacity: 1; }

	/*------------------------------------------------------------
	  コンテンツ
	-------------------------------------------------------------*/
	main { padding-top:11vw;  }

	/*------------------------------------------------------------
	  ページMV
	-------------------------------------------------------------*/
	.pagesMv .contentsOuter { min-height: 100px; justify-content: flex-start; padding: 15px 0; }
	.pagesMv h1 { font-size: 167%; text-align: left; }

	/*------------------------------------------------------------
	  パンくずリスト
	-------------------------------------------------------------*/
	ul#breadcrumbsList { margin-top: 6px; }
	ul#breadcrumbsList li { margin-left: 8px; padding-left: 20px; }
	ul#breadcrumbsList + .contentsSec { margin-top: 30px; }
	
	/*------------------------------------------------------------
	  ページ共通
	-------------------------------------------------------------*/
	/* セクション */
	.contentsSec { margin-top: 37px; }
	.contentsSec * + p { margin-top: 22px; }
	.contentsSec * + table { margin-top: 22px; }
	.contentsSec:last-of-type { margin-bottom: 65px; }
	
	.contentsSec p { font-size: 107%; }
	
	/* タイトル */
	.commonTitle { font-size: 153%; }
	.commonTitle + *,
	.contentsSec .commonTitle + p { margin-top: 20px; }

	/* 年表リスト */
	.commonList { margin-top: 25px; }
	.commonList li { padding: 15px 0 18px; }
	
	/* テーブル */
	.commonTable { font-size: 107%; }
	.commonTable th,
	.commonTable td { padding: 12px 7px; }
	
	.formTable { margin-top: 30px; }
	.formTable th { display: flex; align-items: center; width: 100%; font-size: 124%; padding: 23px 0 0; }
	.formTable td { display: block; border: none; padding: 10px 0 30px; }
	
	.formTable th .formRequired { margin-left: 5px; font-size: 50%; padding: 1px 5px 2px; border-radius: 3px; vertical-align: middle; margin-top: 5px; }
	
	.formTable td .inputPost { flex-wrap: wrap; }
	.formTable td .inputPost > span { width: 2em; }
	.formTable td .inputPost input { width: calc(100% - 2em); margin-left: 0; }
	.formTable td .inputPost .commonBtn { margin: 15px auto 0; }
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

}