@charset "UTF-8";
/*============================================================= 02_base =============================================================*/
/*!  02_base
================================================ */
html { overflow: auto; }
body { position: relative; min-width: 320px; line-height: 1.7; color: #333; font-family: "Noto Sans JP", "メイリオ", "Meiryo", "Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 1.4rem; letter-spacing: .05em; }
@media screen and (min-width: 600px) { body { min-width: 1100px; line-height: 1.9; font-size: 1.6rem; } }
div , h1 , h2 , h3 , h4 , h5 , p , li , dl , dt , dd , th , td , article , header , footer , nav , span , a , section { box-sizing: border-box; }
.serif { font-family: "Noto Serif JP", sans-serif; }
.oswald { font-family: "Oswald", sans-serif; }
.alpha { display: block; text-decoration: none; }
@media all and (min-width: 600px) { .alpha { -webkit-transition: all .3s ease; transition: all .3s ease; }  .alpha:hover { opacity: .7; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; } }
a { color: inherit; text-decoration: none; }
span { font-weight: inherit; }
img { width: auto; max-width: 100%; height: auto; line-height: 1; vertical-align: bottom; }
/* Switch
=========================================== */
.viewPc { display: none !important; }
@media screen and (min-width: 600px) { .viewPc { display: block !important; }  .viewSp { display: none !important; } }
.cf:after { display: block; clear: both; content: ""; }
#mediaQuery { display: none; font-family: "sp"; }
@media all and (min-width: 600px) { #mediaQuery { font-family: "pc"; } }
/*! layout
-------------------------------------- */
@media screen and (min-width: 600px) { #wrapper { margin: 0 auto; } }
.wrapperInner { margin: 0 auto; padding-right: 15px; padding-left: 15px; }
@media screen and (min-width: 600px) { .wrapperInner { max-width: 1100px; padding-right: 0; padding-left: 0; } }
/*============================================================= 03_layout =============================================================*/
/*!  #gHeader
================================================ */
#gHeader { position: fixed; top: 0; left: 0; z-index: 100; width: 100%; height: 46px; transition: all .2s linear; }
#gHeader.open { background: #fff; }
#gHeader #hdInfo { display: -webkit-box; display: -ms-flexbox; display: flex; padding: 0 0 0 15px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#gHeader #hdInfo .logo a { display: block; }
#gHeader #hdInfo .logo a img { width: 125px; height: 40px; }
#gHeader #hdInfo .btnGnav { position: relative; width: 45px; height: 45px; padding: 0; border: none !important; background-color: #333; outline: 0 !important; cursor: pointer; -webkit-transition: all .2s linear; transition: all .2s linear; }
#gHeader #hdInfo .btnGnav .line { display: block; position: absolute; right: 0; left: 0; width: 23px; height: 3px; margin: auto; background: #fff; -webkit-transition: all .3s ease; transition: all .3s ease; }
#gHeader #hdInfo .btnGnav .line:nth-child(1) { top: 13px; }
#gHeader #hdInfo .btnGnav .line:nth-child(2) { top: 0; bottom: 0; }
#gHeader #hdInfo .btnGnav .line:nth-child(3) { bottom: 13px; }
#gHeader #hdInfo .btnGnav.open { background: #fff; }
#gHeader #hdInfo .btnGnav.open .line { background: #333; }
#gHeader #hdInfo .btnGnav.open .line:nth-of-type(1) { -webkit-transform: rotateZ(45deg); transform: rotateZ(45deg); -webkit-transform-origin: 2px 6px; transform-origin: 2px 6px; }
#gHeader #hdInfo .btnGnav.open .line:nth-of-type(2) { -webkit-transform: rotateY(90deg); transform: rotateY(90deg); }
#gHeader #hdInfo .btnGnav.open .line:nth-of-type(3) { -webkit-transform: rotateZ(-45deg); transform: rotateZ(-45deg); -webkit-transform-origin: 2px -3px; transform-origin: 2px -3px; }
@media screen and (min-width: 600px) { #gHeader { display: -webkit-box; display: -ms-flexbox; display: flex; min-width: 1100px; height: 85px; padding: 0 15px 0 30px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }  #gHeader #hdInfo { display: block; padding: 0; }  #gHeader #hdInfo .logo a img { width: 200px; height: 64px; } }
/*!  #gNav
================================================ */
#gNav { display: none; position: absolute; top: 46px; left: 0; z-index: 9999; width: 100%; height: auto !important; max-height: 500px; max-height: 85vh; overflow-y: scroll; padding: 30px 15px 20px; background: #fff; }
#gNav .list { max-width: 300px; margin: 0 auto; }
#gNav .list li { margin-bottom: 10px; border-radius: 8px; font-weight: 500; font-size: 1.7rem; text-align: center; }
#gNav .list li a { display: block; padding: 12px 0 13px; border-width: 2px; border-style: solid; border-radius: 5px; }
#gNav .list li a span { padding: 0 20px 0 0; background-repeat: no-repeat; background-position: right 60%; background-size: 15px; }
#gNav .list li.nav01 { color: #ce0202; }
#gNav .list li.nav01 a { border-color: #ce0202; background-color: #fff; }
#gNav .list li.nav01 a span { background-image: url("../img/common/ico_arrow01.png"); }
#gNav .list li.nav02 { color: #fff; text-shadow: 0 2px 2px rgba(0, 0, 0, .25); }
#gNav .list li.nav02 a { border-color: #ce0202; background: #fff url("../img/common/bg_btn01.png") no-repeat center; background-size: 102% 102%; }
#gNav .list li.nav02 a span { background-image: url("../img/common/ico_arrow02.png"); }
#gNav .list li.nav03 { color: #fff; text-shadow: 0 2px 2px rgba(0, 0, 0, .25); }
#gNav .list li.nav03 a { border-color: #dbb327; background: url("../img/common/bg_btn02.png") no-repeat center; background-size: 102% 102%; }
#gNav .list li.nav03 a span { background-image: url("../img/common/ico_arrow02.png"); }
@media screen and (min-width: 600px) { #gNav { display: block !important; position: static; width: auto; height: auto !important; max-height: 100%; overflow: visible; padding: 0; opacity: 1 !important; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; background: none; }  #gNav .list { max-width: none; }  #gNav .list li { float: left; width: 220px; margin-bottom: 0; font-size: 1.5rem; }  #gNav .list li + li { margin-left: 10px; }  #gNav .list li a { padding: 11px 0 12px; border-width: 3px; display: flex; -ms-align-items: center; align-items: center; justify-content: center; height: 54px; box-sizing: border-box; }  #gNav .list li a span { background-position: right center; background-size: 14px; line-height: 1.2; display: inline-block; } }
/*!  #overlay
================================================ */
#overlay { display: none; position: fixed; top: 0; left: 0; z-index: 98; width: 100%; height: 100%; background-color: rgba(0, 0, 0, .5); }
@media screen and (min-width: 600px) { #overlay { display: none !important; } }
/* #mainVisual HOME
================================================ */
#mainVisual { position: relative; height: 141.33vw; }
#mainVisual .txtBox { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2; width: 98%; margin: auto; text-align: center; padding-bottom: 147px; }
#mainVisual .txtBox .txtBoxIn { position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
#mainVisual .txtBox .mainTit { margin-bottom: 10px; }
#mainVisual .txtBox .leadBox { max-width: 290px; margin: 0 auto; }
#mainVisual .txtBox .leadBox .lead { color: #fff; font-weight: 500; font-size: 1.3rem; }
#mainVisual .txtBox .leadBox .lead .bg { line-height: 2; padding: 0 15px; background: #ce0202; background: -webkit-linear-gradient(-14deg, transparent 0%, transparent 4%, #ce0202 4%, #ce0202 96%, transparent 96%, transparent 100%); background: -webkit-linear-gradient(346deg, transparent 0%, transparent 4%, #ce0202 4%, #ce0202 96%, transparent 96%, transparent 100%); background: linear-gradient(104deg, transparent 0%, transparent 4%, #ce0202 4%, #ce0202 96%, transparent 96%, transparent 100%); color: #fce286; }
#mainVisual .logoBox { position: absolute; bottom: 30px; left: 0; width: 100%; background: url("../img/home/bg_main01_sp.png") no-repeat 50% 0/100% 100%; padding: 40px 0; }
#mainVisual .logoBox_list { display: flex; justify-content: center; gap: 50px; padding: 15px; }
#mainVisual .logoBox .box03_in { margin-top: 10px; }
#mainVisual .logoBox_list-item .logo01{ width: 82px; height: auto; }
#mainVisual .logoBox_list-item .logo02{ width: 124px; height: auto; }
@media screen and (min-width: 600px) { #mainVisual { overflow: hidden; padding: 0; height: auto; }  #mainVisual .bgImg { position: relative; left: 50%; z-index: 1; width: 1920px; max-width: none; margin-left: -960px; }  #mainVisual .txtBox { padding-bottom: 0; }  #mainVisual .txtBox .txtBoxIn { position: static; top: 0; margin-top: 140px; -webkit-transform: none; transform: none; }  #mainVisual .txtBox .mainTit { margin-bottom: 12px; }  #mainVisual .txtBox .leadBox { display: table; max-width: none; }  #mainVisual .txtBox .leadBox .lead { font-size: 2rem; }  #mainVisual .txtBox .leadBox .lead .bg { padding: 0 25px; }  #mainVisual .txtBox .leadBox .lead .bg + .bg { margin-left: -25px; padding-left: 0; } #mainVisual .logoBox { top: 545px; bottom: unset; left: 0; right: 0; margin: auto; max-width: 1548px; width: 100%; z-index: 1; background: none; padding: 0 30px; } #mainVisual .logoBox_list { display: block; width: 253px; background-color:rgba(255,255,255,0.9); padding: 25px; } #mainVisual .logoBox_list-item { display: flex; justify-content:flex-start; align-items:flex-end; gap: 15px; } #mainVisual .logoBox_list-item:not(:first-child) { margin-top: 20px; } #mainVisual .logoBox_list-item .logo01{ width: 116px; } #mainVisual .logoBox_list-item .logo02{ width: 143px; }
}
/*!  #mainImg
================================================ */
#mainImg { position: relative; z-index: 2; height: 76vw; background-repeat: no-repeat; background-position: center; background-size: cover; }
#mainImg .tit { position: relative; top: 50%; line-height: 1.3; margin: 0 auto; color: #fff; font-style: italic; font-weight: bold; font-size: 4rem; text-align: center; text-shadow: 0 3px 3px rgba(0, 0, 0, .35); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
@media screen and (min-width: 600px) { #mainImg { height: 565px; }  #mainImg .tit { font-size: 6rem; } }
/*!  #breadcrumb
================================================ */
#breadcrumb { max-width: 1100px; margin: 0 auto; padding: 20px 0; }
#breadcrumb li { display: inline-block; position: relative; color: #ce0202; font-size: 1.5rem; }
#breadcrumb li a { color: #333; }
#breadcrumb li a:hover { color: #ce0202; }
#breadcrumb li + li { margin-left: 15px; padding-left: 5px; }
#breadcrumb li + li:before { position: absolute; left: -15px; color: #333; content: "＞"; }
/*!  #gFooter
================================================ */
#gFooter { overflow: hidden; padding: 10px 15px 10px 12px; border-top: 1px solid rgba(0, 0, 0, .12); background: #9f0f0f; }
#gFooter #pagetop { float: right; width: 55px; height: 55px; }
#gFooter #pagetop a { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; height: 100%; background: #333; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
#gFooter #pagetop a img { width: 16px; }
#gFooter .wrapperInner { padding: 0; }
#gFooter .snsLink { overflow: hidden; margin: 7px auto 6px 0; }
#gFooter .snsLink .item { float: left; width: 27px; }
#gFooter .snsLink .item + .item { margin-left: 25px; }
#gFooter .cr { color: #c77; font-size: 1rem; }
@media screen and (min-width: 600px) { #gFooter { padding: 0; }  #gFooter #pagetop { width: 74px; height: 74px; }  #gFooter #pagetop a img { width: 20px; }  #gFooter .wrapperInner { display: -webkit-box; display: -ms-flexbox; display: flex; height: 74px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }  #gFooter .snsLink { margin: 0; }  #gFooter .cr { font-size: 1.1rem; } }
/*============================================================= 06_lib =============================================================*/
/*!  .js-name
================================================ */
.js-objectfit { overflow: hidden; }
.js-objectfit img { width: 100%; height: 100%; font-family: "object-fit: cover; object-position: center;"; -o-object-fit: cover; object-fit: cover; }
.js-objectfit.contain img { font-family: "object-fit: contain; object-position: center;"; -o-object-fit: contain; object-fit: contain; }
/*# sourceMappingURL=maps/common.css.map */
