@charset "UTF-8";
html { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; font-size: 62.5%; }

a, address, article, aside, audio, b, big, blockquote, body, button, caption, center, cite, code, dd, details, div, dl, dt, em, fieldset, figcaption, figure, footer, form, form, h1, h2, h3, h4, h5, h6, header, i, iframe, img, input, label, li, main, mark, menu, nav, ol, p, pre, q, s, section, select, small, span, strong, summary, table, tbody, td, textarea, tfoot, th, thead, time, tr, u, ul, video { margin: 0; padding: 0; font-size: inherit; box-sizing: border-box; }

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

audio, canvas, progress, video { display: inline-block; }

audio:not([controls]) { display: none; height: 0; }

ol, ul { list-style: none; }

table { border-collapse: collapse; border-spacing: 0; }

img { max-width: 100%; vertical-align: bottom; border-style: none; }

svg:not(:root) { overflow: hidden; }

a { background-color: transparent; }

a:active, a:hover { outline-width: 0; }

b, strong { font-weight: inherit; font-weight: bolder; }

hr { box-sizing: content-box; height: 0; overflow: visible; }

button, input, select, textarea { font: inherit; margin: 0; }

button, input, select { overflow: visible; }

button, select { text-transform: none; }

[type="button"], [type="reset"], [type="submit"], button { cursor: pointer; }

[disabled] { cursor: default; }

[type="reset"], [type="submit"], button, html [type="button"] { -webkit-appearance: button; }

button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }

button:-moz-focusring, input:-moz-focusring { outline: 1px dotted ButtonText; }

textarea { overflow: auto; }

[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { -webkit-appearance: textfield; }

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

blockquote, q { quotes: none; }

blockquote:after, blockquote:before, q:after, q:before { content: ''; content: none; }

body { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif; }

[type="button"], [type="reset"], [type="submit"], a, a img, button { transition: 0.5s; }

input, textarea { box-sizing: border-box; border: none; background-color: #EEEEEE; border-radius: 5px; display: block; }
input:focus, textarea:focus { outline: none; }

.required { background-color: #DB6224; color: #fff; position: absolute; top: 50%; right: 0; margin-left: 1rem; transform: translateY(-50%); padding: 0 7px; width: 54px; height: 22px; line-height: 19px; font-size: 13px; display: flex; align-items: center; justify-content: center; }
@media screen and (max-width: 768px) { .required { font-size: 12px; right: 10px; } }

.mwform-radio-field { display: block; margin-left: 0 !important; }
.mwform-radio-field label { margin: 0.5em 0; margin-right: 2rem; display: inline-block; }
@media screen and (max-width: 768px) { .mwform-radio-field label { margin-right: 1rem; } }
.mwform-radio-field label input[type='radio'] { position: absolute; opacity: 0; }
.mwform-radio-field label input[type='radio'] + .mwform-radio-field-text { position: relative; padding-left: 2rem; white-space: nowrap; }
@media screen and (max-width: 768px) { .mwform-radio-field label input[type='radio'] + .mwform-radio-field-text { padding-left: 2.5rem; } }
.mwform-radio-field label input[type='radio'] + .mwform-radio-field-text:before { content: ''; background: #EEEEEE; border-radius: 100%; border: 1px solid #EEEEEE; width: 1.4rem; height: 1.4rem; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
.mwform-radio-field label input[type='radio']:checked + .mwform-radio-field-text:before { background-color: #5B6D60; box-shadow: inset 0 0 0 3px #fff; }
.mwform-radio-field label input[type='radio']:focus + .mwform-radio-field-text:before { border: 1px solid #DDDDDD; }
.mwform-radio-field label input[type='radio']:disabled + .mwform-radio-field-text:before { box-shadow: inset 0 0 0 4px #fff; border: #DDDDDD; background: #DDDDDD; }
.mwform-radio-field label input[type='radio'] + .radio-label:empty:before { margin-right: 0; }

.error { color: #cc3300; width: 100%; font-size: 1.4rem; margin-top: 1rem; display: block; line-height: initial; }

.formControl { width: 100%; padding: 1rem; }

.formControlL { width: 100%; padding: 1rem; }

/*==================================================================================================
	サイト基礎
==================================================================================================*/
body { color: #333333; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.6; overflow-x: hidden; position: relative; width: 100%; }
body:before { content: ""; width: 100vw; height: 100vh; position: fixed; left: 0; top: 0; background: url("../img/content-bg.jpg") no-repeat; background-position: center top; background-size: cover; }
body.noScrolled { overflow: hidden; }
@media screen and (max-width: 767px) { body { font-size: 1.4rem; } }
@media screen and (max-width: 480px) { body { font-size: 1.3rem; } }
body a { transition: 0.5s; color: #1B1E2D; text-decoration: none; }
body a:hover { text-decoration: none; opacity: 1; }
body img { height: auto; }
body .inner { width: 100%; max-width: 1100px; margin: 0 auto; }
@media screen and (max-width: 1160px) { body .inner { padding-left: 3vw; padding-right: 3vw; } }
@media screen and (max-width: 767px) { body .inner { padding-left: 5vw; padding-right: 5vw; } }
body .telLink { cursor: default; pointer-events: none; text-decoration: none; }
body .telLink _:-ms-fullscreen, body .telLink :root .selector { display: inline-block; }
@media screen and (max-width: 860px) { body .telLink { pointer-events: auto; letter-spacing: 0.02em; } }
body .readTxt { letter-spacing: 0.15em; line-height: 1.8; }
body .readTxt.-center { text-align: center; }
body input[type="text"], body textarea { -webkit-appearance: none; }
body select { background: none !important; padding: 0.6em !important; }
body .pcNone { display: none; }
@media screen and (max-width: 560px) { body .pcNone { display: block; } }
@media screen and (max-width: 560px) { body .spNone { display: none; } }

.preload * { -webkit-transition: none !important; -moz-transition: none !important; -ms-transition: none !important; -o-transition: none !important; transition: none !important; }

.wrap { overflow-x: hidden; position: relative; width: 100%; }

/*==================================================================================================
	共通 Common
==================================================================================================*/
.-center { text-align: center; }

.-white { color: white; }

/*------------------------------------------------------------
ヘッダー
------------------------------------------------------------*/
header { position: relative; width: 100%; }
header h1 { position: absolute; left: 0; top: 0; opacity: 0; }
header img { width: 100%; height: auto; height: 100%; max-height: 600px; object-fit: cover; object-position: center; font-family: "object-fit: cover; object-position: center;"; }

/*------------------------------------------------------------
フッター
------------------------------------------------------------*/
footer { background: #1F1616; padding: 1em 0; }
footer p { text-align: center; color: #FFF; font-size: 90%; }

/*==================================================================================================
	メイン
==================================================================================================*/
.intro { background: #FFF; padding: 1em 0; text-align: right; font-size: 80%; }
.intro a { color: #4dabff; }
.intro br { display: none; }
@media screen and (max-width: 480px) { .intro br { display: inline; } }

.mainWrap { padding: 6em 0; }
@media screen and (max-width: 767px) { .mainWrap { padding: 10vw 0; } }
.mainWrap .contentList__item { margin-bottom: 6em; }
.mainWrap .contentList__item:last-child { margin-bottom: 0; }
.mainWrap .contentList .linkList { display: flex; flex-wrap: wrap; }
.mainWrap .contentList .linkList__item { width: 32.5%; margin-right: 1.25%; margin-bottom: 1.25%; }
.mainWrap .contentList .linkList__item:nth-child(3n) { margin-right: 0; }
.mainWrap .contentList .linkList__item a { display: flex; align-items: center; background: #A2905F; color: #FFF; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; padding: 1em 1em 1em 4.2em; position: relative; line-height: 1.4; min-height: 5em; font-size: 86%; height: 100%; }
.mainWrap .contentList .linkList__item a:hover { background: #1F1616; }
.mainWrap .contentList .linkList__item a.-active { background: #1F1616; }
.mainWrap .contentList .linkList__item a span { position: absolute; left: 1em; top: 50%; transform: translateY(-50%) translateX(0); width: 2.5em; height: 2.5em; }
.mainWrap .contentList .linkList__item a span img { width: 100%; height: 100%; object-fit: contain; object-position: center; font-family: "object-fit: contain; object-position: center;"; }
@media screen and (max-width: 1020px) { .mainWrap .contentList .linkList__item { width: 49%; margin-right: 2%; margin-bottom: 2%; }
  .mainWrap .contentList .linkList__item:nth-child(3n) { margin-right: 2%; }
  .mainWrap .contentList .linkList__item:nth-child(2n) { margin-right: 0; } }
@media screen and (max-width: 560px) { .mainWrap .contentList .linkList__item a { padding: 1em 1em 1em 3.6em; }
  .mainWrap .contentList .linkList__item a span { width: 2em; height: 2em; }
  .mainWrap .contentList .linkList__item a br { display: none; } }
@media screen and (max-width: 480px) { .mainWrap .contentList .linkList__item a { font-size: 80%; padding: 0.6em 0.6em 0.6em 3.6em; } }
@media screen and (max-width: 300px) { .mainWrap .contentList .linkList { display: block; }
  .mainWrap .contentList .linkList__item { width: 100%; margin-right: 0; margin-bottom: 0.5em; }
  .mainWrap .contentList .linkList__item:nth-child(3n) { margin-right: 0; }
  .mainWrap .contentList .linkList__item:nth-child(2n) { margin-right: 0; }
  .mainWrap .contentList .linkList__item a { padding: 0.6em 0.6em 0.6em 3.6em; } }
.mainWrap .contentList .sourceLink { margin-top: 0.6em; text-align: right; }
.mainWrap .contentList .sourceLink p { line-height: 1.6; text-align: left; display: inline-block; margin-left: auto; color: #FFF; font-size: 70%; position: relative; padding-left: 1.4em; }
.mainWrap .contentList .sourceLink p:before { content: ""; width: 1em; height: 1em; background: url("../img/icon-arrow.svg") no-repeat; background-size: contain; background-position: center; position: absolute; left: 0; top: 50%; transform: translateY(-50%) translateX(0); }
.mainWrap .contentList .sourceLink p a { color: #FFF; }
.mainWrap .contentList .mainCont { background: #FFF; padding: 3em; margin-top: 2em; }
.mainWrap .contentList .mainCont > .ttl { font-size: 180%; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; position: relative; width: 100%; display: flex; align-items: center; padding-left: 1.8em; line-height: 1.4; margin-bottom: 1em; }
.mainWrap .contentList .mainCont > .ttl span { position: absolute; left: 0; top: 50%; transform: translateY(-50%) translateX(0); width: 1.6em; height: 1.6em; }
.mainWrap .contentList .mainCont > * { margin-bottom: 2em; }
.mainWrap .contentList .mainCont > *:last-child { margin-bottom: 0; }
.mainWrap .contentList .mainCont p { line-height: 2; }
.mainWrap .contentList .mainCont p .small { font-size: 80%; }
.mainWrap .contentList .mainCont .thumb { text-align: center; }
.mainWrap .contentList .mainCont .flex { display: flex; justify-content: space-between; }
.mainWrap .contentList .mainCont .flex > * { width: 49%; }
.mainWrap .contentList .mainCont .special__item { margin-bottom: 1em; padding-left: 1.2em; position: relative; }
.mainWrap .contentList .mainCont .special__item:before { content: ""; width: 5px; height: 100%; background: #333; position: absolute; left: 0; top: 0; }
.mainWrap .contentList .mainCont .special__item:last-child { margin-bottom: 0; }
.mainWrap .contentList .mainCont .special__item > .ttl { font-size: 105%; line-height: 1.6; margin-bottom: 0.2em; }
.mainWrap .contentList .mainCont .special__item.-green:before { background: #01913A; }
.mainWrap .contentList .mainCont .special__item.-green .ttl { color: #01913A; }
.mainWrap .contentList .mainCont .special__item.-orange:before { background: #EF6213; }
.mainWrap .contentList .mainCont .special__item.-orange .ttl { color: #EF6213; }
.mainWrap .contentList .mainCont .special__item.-sky:before { background: #2E8EE5; }
.mainWrap .contentList .mainCont .special__item.-sky .ttl { color: #2E8EE5; }
.mainWrap .contentList .mainCont .special__item.-blue:before { background: #0E58C4; }
.mainWrap .contentList .mainCont .special__item.-blue .ttl { color: #0E58C4; }
.mainWrap .contentList .mainCont .source { text-align: right; }
.mainWrap .contentList .mainCont .source p { line-height: 1.6; text-align: left; padding-left: 1.4em; position: relative; display: inline-block; margin-left: auto; font-size: 90%; }
.mainWrap .contentList .mainCont .source p:before { content: ""; width: 1em; height: 1em; background: url("../img/icon-arrow.svg") no-repeat; background-size: contain; background-position: center; position: absolute; left: 0; top: 50%; transform: translateY(-50%) translateX(0); }
.mainWrap .contentList .mainCont .source p a { word-break: break-all; }
@media screen and (max-width: 767px) { .mainWrap .contentList .mainCont { padding: 8vw 5vw; }
  .mainWrap .contentList .mainCont > .ttl { font-size: 150%; }
  .mainWrap .contentList .mainCont > * { margin-bottom: 2em; }
  .mainWrap .contentList .mainCont > *:last-child { margin-bottom: 0; }
  .mainWrap .contentList .mainCont p { line-height: 2; }
  .mainWrap .contentList .mainCont .flex { flex-direction: column; }
  .mainWrap .contentList .mainCont .flex .thumb { order: -1; margin-bottom: 2em; }
  .mainWrap .contentList .mainCont .flex > * { width: 100%; } }

.contactWrap { background: #FFF; padding: 6em 0; }
@media screen and (max-width: 767px) { .contactWrap { padding: 10vw 0; } }
.contactWrap .inner > section { font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; border: #1F1616 1px solid; }
.contactWrap .inner > section > .ttl { background: #1F1616; padding: 1em; text-align: center; color: #FFF; font-size: 110%; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.contactWrap .inner > section .content { padding: 3em; }
.contactWrap .inner > section .content:last-child { padding-top: 0; }
.contactWrap .inner > section .content > .ttl { font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; border-bottom: #1F1616 1px solid; font-size: 105%; padding-bottom: 0.5em; margin-bottom: 1.6em; }
.contactWrap .inner > section .content .btn { display: block; background: #A2905F; padding: 1em; color: #FFF; width: 100%; max-width: 500px; margin: 0 auto; border-radius: 5em; text-align: center; font-size: 120%; }
.contactWrap .inner > section .content .btn:hover { background: #1F1616; }
.contactWrap .inner > section .content .btn span { padding-left: 1.5em; position: relative; }
.contactWrap .inner > section .content .btn span:before { content: ""; width: 1em; height: 1em; background: url("../img/icon-mail.svg") no-repeat; background-position: center; background-size: contain; position: absolute; left: 0; top: 50%; margin-top: -0.5em; }
.contactWrap .inner > section .content .telWrap { display: flex; flex-wrap: wrap; align-items: center; }
.contactWrap .inner > section .content .telWrap > .ttl { margin-right: 1em; }
.contactWrap .inner > section .content .telWrap .telNum { display: flex; }
.contactWrap .inner > section .content .telWrap .telNum p { margin-right: 1em; font-size: 120%; font-weight: bold; }
.contactWrap .inner > section .content .telWrap .telNum p a { text-decoration: underline; }
.contactWrap .inner > section .content .telWrap .telNum p:last-child { margin-right: 0; }
@media screen and (max-width: 767px) { .contactWrap .inner > section .content { padding: 5vw; }
  .contactWrap .inner > section .content .telWrap { display: block; }
  .contactWrap .inner > section .content .telWrap > .ttl { margin-right: 0; margin-bottom: 1em; }
  .contactWrap .inner > section .content .telWrap .telNum { flex-wrap: wrap; }
  .contactWrap .inner > section .content .telWrap .telNum p { font-size: 140%; } }
