@charset "utf-8";

/*----------------------------------------------------
	共通
----------------------------------------------------*/
html {
 font-size: 62.5%;
 overflow-x: hidden;
 scroll-behavior: smooth;
}
body {
 -webkit-text-size-adjust: 100%; /* 端末を横にしても文字サイズを拡大させない */
 font-size: 1.6em;
 line-height: 1.0;
 font-family: YuGothic, Yu Gothic, sans-serif;
}

img { border: 0; vertical-align: bottom; width: auto; max-width: 100%; height: auto; -webkit-backface-visibility: hidden; }
ul { padding: 0; }
iframe { vertical-align: bottom; }

*, *::before, *::after { box-sizing: border-box; }

/*----------------------------------------------------
	調整用
----------------------------------------------------*/
.tC { text-align: center; }
.tR { text-align: right; }
.tL { text-align: left; }
.tRC { text-align: center; }
.tLC { text-align: center; }
.tCR { text-align: right; }
.tCL { text-align: left; }
@media (min-width:576px) { /* PC */
.tRC { text-align: right; }
.tLC { text-align: left; }
.tCR { text-align: center; }
.tCL { text-align: center; }
}

.alignC { display: block; margin: 0 auto; }
.alignL,
.alignR { float: none; text-align: center; }
@media (min-width:576px) { /* PC */
.alignR { float: right; margin: 0 0 2em 2em; }
.alignL { float: left; margin: 0 2em 2em 0; }
}

.tB { font-weight: bold; }
.tGo { font-family: YuGothic, Yu Gothic, sans-serif; }
.tMin { font-family: YuMincho, Yu Mincho, serif; }
.tMaru { font-family: Hiragino Maru Gothic Pro, Meiryo, sans-serif; }
.tMono { font-family: Osaka-mono, MS Gothic, monospace; }

/* 上方向のmargin */
.mt0 { margin-top: 0; }
.mt1 { margin-top: 1rem; }
.mt2 { margin-top: 2rem; }
.mt3 { margin-top: 3rem; }
.mt4 { margin-top: 4rem; }
.mt5 { margin-top: 5rem; }
.mt6 { margin-top: 6rem; }
.mt7 { margin-top: 7rem; }
.mt8 { margin-top: 8rem; }
.mt9 { margin-top: 9rem; }

/* 下方向のmargin */
.mb0 { margin-bottom: 0; }
.mb1 { margin-bottom: 1rem; }
.mb2 { margin-bottom: 2rem; }
.mb3 { margin-bottom: 3rem; }
.mb4 { margin-bottom: 4rem; }
.mb5 { margin-bottom: 5rem; }
.mb6 { margin-bottom: 6rem; }
.mb7 { margin-bottom: 7rem; }
.mb8 { margin-bottom: 8rem; }
.mb9 { margin-bottom: 9rem; }

/* 上方向のpadding */
.pt0 { padding-top: 0; }
.pt1 { padding-top: 1rem; }
.pt2 { padding-top: 2rem; }
.pt3 { padding-top: 3rem; }
.pt4 { padding-top: 4rem; }
.pt5 { padding-top: 5rem; }
.pt6 { padding-top: 6rem; }
.pt7 { padding-top: 7rem; }
.pt8 { padding-top: 8rem; }
.pt9 { padding-top: 9rem; }

/* 下方向のpadding */
.pb0 { padding-bottom: 0; }
.pb1 { padding-bottom: 1rem; }
.pb2 { padding-bottom: 2rem; }
.pb3 { padding-bottom: 3rem; }
.pb4 { padding-bottom: 4rem; }
.pb5 { padding-bottom: 5rem; }
.pb6 { padding-bottom: 6rem; }
.pb7 { padding-bottom: 7rem; }
.pb8 { padding-bottom: 8rem; }
.pb9 { padding-bottom: 9rem; }

/* clearfix */
.clearfix::after { content: ""; display: block; clear: both; }
.clear { clear: both; }

/* Facebook */
.fbContainer { width: 100%; }

/* Google Map */
@media (max-width:575px) { /* SP */
.ggContainer { width: 100%; padding-bottom: 56.25%; height:0px; position: relative; }
.ggContainer iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
}

/* YouTube */
.ytContainer { width: 100%; padding-bottom: 56.25%; height:0px; position: relative; }
.ytContainer iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media (min-width:576px) { /* PC */
.telLink { pointer-events: none; } /*PCで電話番号をリンクさせない*/ }

/* PCとSPで出し分け */
@media (max-width: 575px){ .pcOnly { display:none; }}
@media (min-width: 576px){ .spOnly { display:none; }}

/*----------------------------------------------------
	フェードイン　class="move"
----------------------------------------------------*/
.move { opacity: 0; transform: translate(0, 60px); transition: .8s; }
.mv { opacity: 1.0; transform: translate(0, 0); }

/*----------------------------------------------------
	カスタムプロパティ
----------------------------------------------------*/
:root {
  --mainSize: 1130px;
  --mainColor: #0078c3;
  --subColor: #ff7d00;
}

/*----------------------------------------------------
	サイズ設定
----------------------------------------------------*/
/* 基準値 */
.main { width: min(100% - 4em, var(--mainSize)); margin-inline: auto; line-height: 2.0; }
.container800 { width: min(100%, 800px); margin-inline: auto; }
.container900 { width: min(100%, 900px); margin-inline: auto; }
.container1000 { width: min(100%, 1000px); margin-inline: auto; }
.inner { padding: 5em 0; }
/* 基準値より小さくなったら*/
/* 固定値px / 基準幅px * 100vw */
@media (min-width:576px) and ( max-width:1130px) {
  html{ font-size: calc(100vw / 100); }
}
/*画面サイズが575px以下のとき*/
@media (max-width: 575px) {
  html { font-size: 50%; }
}

/*----------------------------------------------------
	header
----------------------------------------------------*/
.header__inner { width: min(100%, 1400px); margin-inline: auto; }
@media (min-width:576px) { /* PC */
.header { position: sticky; top: 0; margin: 0 auto; background: #fff; z-index: 100; box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.2); }
.header__inner { display:flex; align-items: center; justify-content: space-between; }
.header__link { display: block; margin-top: -84px; padding-top: 84px; }/*pc 追従ヘッダーの高さ*/
.headerLogo { width: 21%; margin-left: 2em; }
.headerNav { display:flex; align-items: center; }
header .nav__list { display: flex; list-style: none; font-size: 1.4rem; font-weight: bold; }
header .nav__link { color: #000; padding: 2.5em; text-decoration: none; display: block; }
header .nav__item.-survey .nav__link { background: var(--subColor); color: #fff; }
header .nav__item.-survey .nav__link:hover { background: #ffbe80; transition: .5s; }
header .nav__item.-contact .nav__link { background: var(--mainColor); color: #fff; }
header .nav__item.-contact .nav__link:hover { background: #80bbe1; transition: .5s; }
}
@media (max-width:575px) { /* SP */
.header { position: sticky; top: 0; background: #fff; z-index: 100; }
.header__inner { padding: 1em 0; }
.header__link { display: block; margin-top: -100px; padding-top: 100px; }/*sp 追従ヘッダーの高さ*/
.headerLogo { max-width: 80%; margin-left: 1em; }
header .nav__link { color: #fff; text-decoration: none; display: block; }
header .nav__list { display: none; width: 100vw; height: 100vh; position: fixed; top: 85px; left: 0; z-index: 2; background: rgba(0,0,0,0.8); list-style: none; text-align: center; padding: 2em 0; }
header .nav__item { font-size: 2.4rem; padding: 1.5em 0; }
header .nav__spButton { background: url("../include/images/btn.png") no-repeat; display: block; width: 50px; height: 50px; position: absolute; top: 10px; right: 10px; cursor: pointer; z-index: 200; }
header .nav__spButton .open { background-position: -50px 0; z-index: 300; }
}

/*----------------------------------------------------
	link
----------------------------------------------------*/
.link { background: #80bbe1; }
.link__inner { width: min(100% - 2em, 750px); margin-inline: auto; display: flex; align-items: center; padding: 2em 0; }
.link__title { font-size: 1.4rem; font-weight: bold; color: #fff; white-space: nowrap; background: #00468c; padding: 1.5em 3em; border-radius: 100vh; }
.link__list { display: flex; align-items: center; flex-wrap: wrap; font-size: 1.2rem; font-weight: bold; list-style: none; }
.link__list li { margin: .5em 0 .5em 2em; }
.link__list a { color: #00468c; }

/*----------------------------------------------------
	footer
----------------------------------------------------*/
.footer__inner { width: min(100% - 4em, 1200px); margin-inline: auto; }

.footer { clear: both; width: 100%; background: var(--bgGray); }
.footer__inner { padding: 3em 0; }
.footerLogo { display:flex; align-items: center; justify-content: space-between;  }
.footerLogo__address { font-size: 1.5rem; line-height: 1.3; margin-left: 1em; }
.footerLogo__tel { font-size: 1.8rem; font-weight: bold; }
.footerLogo__contact { margin-left: auto; }
.footer__number { font-size: 1.3rem; color: #505050; line-height: 1.5; }
.footerCopyright { text-align: center; font-size: 1.3rem; color: #fff; background: #404040; padding: 1.5em; }
footer .nav__list { display: flex; list-style: none; margin: 1.5em 0; }
footer .nav__item { border-left: #000 1px solid; }
footer .nav__item:last-child { border-right: #000 1px solid; }
footer .nav__link { display: block; color: #00468c; text-decoration: none; padding: 0 1em; }
footer .nav__sublist { list-style: none; margin: .5em 1em 0 2em; font-size: 1.4rem; }
footer .nav__sublink { display: block; padding-top: .2em; color: #000; text-decoration: none; }

@media (max-width:575px) { /* SP */
.footerLogo { flex-direction: column; }
.footerLogo__contact { margin: 1em 0; }
.footer__number { text-align: center; }
footer .nav { display: none; }
}

/*----------------------------------------------------
	link
----------------------------------------------------*/
a { text-decoration: none; }

/*----------------------------------------------------
	box
----------------------------------------------------*/
.boxCenter { display: table; margin-inline: auto; } /* 可変の要素を中央に */
.boxSmall { width: min(74%, 100%); margin-inline: auto; }

/*----------------------------------------------------
	back
----------------------------------------------------*/
.full { margin: 0 calc(50% - 50vw); width: 100vw; } /* 全幅 */
.fullBack { margin: 0 calc(50% - 50vw); padding: 0 calc(50vw - 50%); width: 100vw; } /* 背景全幅 */
.fullBack.-bgGray { background: #f5f5f5; }
.fullBack.-bgBlue { background: #e5f1f9; }
.fullBack.-bgDarkblue { background: #00468c; }
.fullBack.-bgOrange { background: #ffecc5; }
