@charset "UTF-8";
/*--- import -------------------------------------*/
* { margin: 0; padding: 0; border: 0; outline: 0; word-break: break-word; -webkit-box-sizing: border-box; box-sizing: border-box; vertical-align: baseline; background: transparent; }

html, body { overflow-x: hidden; font-size: 62.5%; }

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

li { list-style-type: none; }

blockquote, q { quotes: none; }

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

a { text-decoration: none; color: inherit; }

img, picture { vertical-align: middle; max-width: 100%; }

img { height: auto; }

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

input, select { vertical-align: middle; }

br { line-height: 0; }

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

/* safariでのデフォルトスタイルをリセット */
input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; -moz-appearance: button; appearance: button; border: none; -webkit-box-sizing: border-box; box-sizing: border-box; }

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

/* -----------------------------------------------------
	variables
----------------------------------------------------- */
/*------------------------------------- import ---*/
body { -webkit-text-size-adjust: 100%; font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', '游ゴシック', 'YuGothic', 'メイリオ', 'Meiryo', sans-serif; text-align: center; font-weight: 500; color: #232323; position: relative; -webkit-font-feature-settings: "palt" 1; font-feature-settings: "palt" 1; }

a { opacity: 1; -webkit-transition: opacity .3s; -o-transition: opacity .3s; transition: opacity .3s; }

@media screen and (min-width: 769px) { a:hover { opacity: 0.6; } }

.object-fit.cover { -o-object-fit: cover; object-fit: cover; font-family: "object-fit: cover;"; }

.btn_to_top { cursor: pointer; position: fixed; right: 0; bottom: 82px; z-index: 59; -webkit-transition: none; -o-transition: none; transition: none; background: #000; color: #FFF; }

.btn_to_top.foot { position: absolute; }

.pc { display: block; }

.pc._inline { display: inline; }

.pc._inline-block { display: inline-block; }

@media screen and (max-width: 768px) { .pc { display: none; } }

.sp { display: none; }

@media screen and (max-width: 768px) { .sp { display: block; }
  .sp._inline { display: inline; }
  .sp._inline-block { display: inline-block; } }

.en { font-family: 'Mukta Mahee', sans-serif; }

section .inner { max-width: 1000px; width: 96%; margin: 0 auto; padding: 100px 0; }

@media screen and (max-width: 768px) { section .inner { padding: 18.22917vw 3.90625vw; } }

section.bg { background: #f1f8fc; }

h1 { font-size: 6.6rem; line-height: 1.0; }

@media screen and (max-width: 768px) { h1 { font-size: 12.5vw; } }

h2 { font-size: 4.5rem; line-height: 1.2; }

@media screen and (max-width: 768px) { h2 { font-size: 10.41667vw; } }

h3 { font-size: 3.2rem; line-height: 1.25; }

@media screen and (max-width: 768px) { h3 { font-size: 8.33333vw; } }

h4 { font-size: 2.4rem; line-height: 1.35; }

@media screen and (max-width: 768px) { h4 { font-size: 6.25vw; } }

h5 { font-size: 2.0rem; line-height: 1.4; }

@media screen and (max-width: 768px) { h5 { font-size: 5.20833vw; } }

.text { font-size: 1.4rem; line-height: 1.8; font-weight: 700; }

@media screen and (max-width: 768px) { .text { font-size: 3.64583vw; } }

.text_small { font-size: 1.2rem; }

@media screen and (max-width: 768px) { .text_small { font-size: 3.125vw; } }

/* -----------------------------------------------------
	common
----------------------------------------------------- */
.section_ttl { display: inline-block; color: #0075c2; margin-bottom: 66px; padding-bottom: 20px; font-weight: 500; letter-spacing: .04em; position: relative; }

@media screen and (max-width: 768px) { .section_ttl { margin-bottom: 11.71875vw; padding-bottom: 2.60417vw; } }

.section_ttl::after { position: absolute; bottom: -10px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 120px; height: 1px; content: ''; display: inline-block; border-radius: 3px; background: #0075c2; }

@media screen and (max-width: 768px) { .section_ttl::after { width: 31.25vw; height: 2px; } }

header { width: 100%; }

@media screen and (max-width: 1024px) { header { height: 80px; padding: 0 20px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } }

@media screen and (max-width: 480px) { header { height: 50px; padding: 0 5.20833vw; } }

@media screen and (max-width: 1024px) { header.fixed { position: fixed; background: #FFF; border-bottom: 1px solid #dadada; z-index: 100; } }

header .inner_h { width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 0 20px 0 30px; position: relative; }

@media screen and (max-width: 1142px) { header .inner_h { padding: 0 10px 0 10px; } }

@media screen and (max-width: 1024px) { header .inner_h { padding: 0 0 0 0; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

@media screen and (max-width: 768px) { header .header_logo { position: relative; z-index: 100; } }

header .header_logo .click_show { display: none; }

@media screen and (max-width: 1024px) { header .header_logo.logo_c .click_hide { display: none; }
  header .header_logo.logo_c .click_show { display: block; } }

@media screen and (max-width: 768px) { header .header_logo img { width: 30.46875vw; } }

@media screen and (min-width: 1025px) { .nav_btn_wrap { display: none; } }

@media screen and (max-width: 1024px) { .nav_btn_wrap .nav_btn { position: relative; cursor: pointer; z-index: 100; width: 46px; height: 36px; } }

@media screen and (max-width: 768px) { .nav_btn_wrap .nav_btn { width: 5.98958vw; height: 4.6875vw; } }

.nav_btn_wrap .nav_btn span { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: block; width: 100%; height: 2px; margin: auto; -webkit-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; -webkit-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%; transform-origin: 50% 50%; background-color: #000; }

.nav_btn_wrap .nav_btn::before, .nav_btn_wrap .nav_btn::after { content: ""; position: absolute; left: 0; right: 0; display: block; width: 100%; height: 2px; margin: auto; -webkit-transition: all 0.2s; -o-transition: all 0.2s; transition: all 0.2s; -webkit-transform-origin: 50% 50%; -ms-transform-origin: 50% 50%; transform-origin: 50% 50%; background-color: #000; border-radius: 10px; overflow: hidden; }

.nav_btn_wrap .nav_btn::before { top: 0; }

.nav_btn_wrap .nav_btn::after { bottom: 0; }

.nav_btn_wrap .nav_btn.open::before { bottom: 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); background-color: #FFF; }

.nav_btn_wrap .nav_btn.open::after { top: 0; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); background-color: #FFF; }

.nav_btn_wrap .nav_btn.open span { opacity: 0; background-color: #FFF; }

.nav_wrap { width: 100%; }

@media screen and (max-width: 1024px) { .nav_wrap { display: none; height: 100vh; position: fixed; top: 0; left: 0; padding: 120px 0 0; z-index: 80; background: #0075c2; -webkit-transition: opacity 0.3s ease; -o-transition: opacity 0.3s ease; transition: opacity 0.3s ease; } }

@media screen and (max-width: 768px) { .nav_wrap { padding: 20.83333vw 0 0; } }

.nav_wrap.open { opacity: 1; }

.nav_wrap nav { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

@media screen and (max-width: 1024px) { .nav_wrap nav { display: block; } }

.nav_wrap .nav_list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 74px; }

@media screen and (max-width: 1024px) { .nav_wrap .nav_list { height: auto; padding: 0 20px; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

@media screen and (max-width: 768px) { .nav_wrap .nav_list { padding: 0 5.20833vw; } }

.nav_wrap .nav_list:first-child { margin-left: 50px; }

@media screen and (max-width: 1142px) { .nav_wrap .nav_list:first-child { margin-left: 8px; } }

@media screen and (max-width: 1024px) { .nav_wrap .nav_list:first-child { display: block; margin-left: 0; margin-bottom: 30px; } }

@media screen and (max-width: 768px) { .nav_wrap .nav_list:first-child { margin-bottom: 7.8125vw; } }

.nav_wrap .nav_list li { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-left: 18px; height: 100%; }

@media screen and (max-width: 1142px) { .nav_wrap .nav_list li { margin-left: 10px; } }

@media screen and (max-width: 1024px) { .nav_wrap .nav_list li { margin-left: 0; display: block; } }

.nav_wrap .nav_list li a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100%; font-size: 1.4rem; position: relative; color: #333; }

@media screen and (max-width: 1024px) { .nav_wrap .nav_list li a { font-size: 1.8rem; line-height: 3.2; border-bottom: 2px solid #FFF; color: #FFF; } }

@media screen and (max-width: 768px) { .nav_wrap .nav_list li a { font-size: 4.16667vw; line-height: 16.92708vw; } }

@media screen and (max-width: 1024px) { .nav_wrap .nav_list li a.nav_link::after { content: ""; position: absolute; top: 50%; right: 5px; width: 12px; height: 12px; border-top: 2px solid #FFF; border-right: 2px solid #FFF; -webkit-transform: translateY(-50%) rotate(45deg); -ms-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); -webkit-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease; } }

@media screen and (max-width: 1024px) and (max-width: 768px) { .nav_wrap .nav_list li a.nav_link::after { width: 2.60417vw; height: 2.60417vw; } }

@media (hover: hover) and (pointer: fine) { .nav_wrap .nav_list li a:hover { opacity: 1; border-bottom: 8px solid #0075c2; margin-bottom: -8px; } }

.nav_wrap .nav_list li.common_btn { margin-left: 8px; }

@media screen and (max-width: 1024px) { .nav_wrap .nav_list li.common_btn { margin-left: 0; width: calc(100% / 2 - 8px); } }

.nav_wrap .nav_list li.common_btn a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 140px; height: 40px; border-radius: 5px; font-weight: 700; color: #FFF; }

@media screen and (max-width: 1024px) { .nav_wrap .nav_list li.common_btn a { width: 100%; height: auto; padding: 12px 0; border: 1px solid #FFF; -webkit-box-sizing: border-box; box-sizing: border-box; }
  .nav_wrap .nav_list li.common_btn a::after { content: none; } }

@media screen and (max-width: 768px) { .nav_wrap .nav_list li.common_btn a { padding: 3.125vw 0; line-height: 1.2; } }

.nav_wrap .nav_list li.common_btn a .contacts { padding-left: 6px; vertical-align: middle; line-height: 1.2; }

@media screen and (max-width: 768px) { .nav_wrap .nav_list li.common_btn a .contacts { padding-left: 4px; } }

.nav_wrap .nav_list li.common_btn a.tel_link { background: #0075c2; }

.nav_wrap .nav_list li.common_btn a.tel_link img { height: 18px; }

@media screen and (max-width: 768px) { .nav_wrap .nav_list li.common_btn a.tel_link img { height: 4.42708vw; } }

.nav_wrap .nav_list li.common_btn a.inquiry_link { background: #f0af14; }

@media screen and (max-width: 1024px) { .nav_wrap .nav_list li.common_btn a.inquiry_link { background: #0075c2; } }

.nav_wrap .nav_list li.common_btn a.inquiry_link img { height: 12px; }

@media screen and (max-width: 768px) { .nav_wrap .nav_list li.common_btn a.inquiry_link img { height: 3.38542vw; } }

@media (hover: hover) and (pointer: fine) { .nav_wrap .nav_list li.common_btn a:hover { opacity: 0.6; border-bottom: 0; margin-bottom: 0; } }

/* -----------------------------------------------------
	footer
----------------------------------------------------- */
footer { background: #0075c2; }

footer .inner_f { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 20px 20px 20px 30px; }

@media screen and (max-width: 768px) { footer .inner_f { display: block; padding: 8.59375vw 5.20833vw 7.8125vw; } }

@media screen and (max-width: 768px) { footer .inner_f .footer_logo img { width: 58.07292vw; } }

footer .inner_f .footer_nav { font-size: 1.1rem; font-weight: 400; color: #FFF; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav { font-size: 3.38542vw; text-align: center; } }

footer .inner_f .footer_nav .footer_nav_col { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .footer_nav_col { display: block; } }

footer .inner_f .footer_nav .footer_nav_col ul { display: -webkit-box; display: -ms-flexbox; display: flex; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .footer_nav_col ul.col3 { display: block; margin: 6.51042vw 0 7.8125vw; } }

footer .inner_f .footer_nav .footer_nav_col ul.col3 li { margin-left: 20px; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .footer_nav_col ul.col3 li { margin-left: 0; } }

footer .inner_f .footer_nav .footer_nav_col ul.col3 li a { font-size: 1.1rem; border-bottom: 1px solid #FFF; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .footer_nav_col ul.col3 li a { font-size: 3.38542vw; line-height: 2.2; } }

@media (hover: hover) and (pointer: fine) { footer .inner_f .footer_nav .footer_nav_col ul.col3 li a:hover { border-bottom: 0; } }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .footer_nav_col ul.col2 { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

footer .inner_f .footer_nav .footer_nav_col ul.col2 li { margin-left: 10px; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .footer_nav_col ul.col2 li { margin-left: 0; width: calc(100% / 2 - 8px); } }

footer .inner_f .footer_nav .footer_nav_col ul.col2 li a { display: block; width: 121px; padding: 3px 0 4px; border: 1px solid #FFF; border-radius: 5px; -webkit-box-sizing: border-box; box-sizing: border-box; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .footer_nav_col ul.col2 li a { width: 100%; } }

footer .inner_f .footer_nav .footer_nav_col ul.col2 li a .contacts { font-size: 1.1rem; font-weight: 700; padding-left: 4px; line-height: 1.2; vertical-align: middle; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .footer_nav_col ul.col2 li a .contacts { font-size: 3.38542vw; font-weight: 500; line-height: 2.1; } }

footer .inner_f .footer_nav .footer_nav_col ul.col2 li a img.tel_icon { height: 16px; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .footer_nav_col ul.col2 li a img.tel_icon { height: 4.42708vw; } }

footer .inner_f .footer_nav .footer_nav_col ul.col2 li a img.mail_icon { height: 11px; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .footer_nav_col ul.col2 li a img.mail_icon { height: 3.38542vw; } }

footer .inner_f .footer_nav .copyright { font-size: 1rem; text-align: right; letter-spacing: .04em; margin-top: 12px; font-weight: 400; }

@media screen and (max-width: 768px) { footer .inner_f .footer_nav .copyright { font-size: 2.86458vw; text-align: center; margin-top: 7.8125vw; } }

.border { background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #e0e96d)); background: -webkit-linear-gradient(transparent 60%, #e0e96d 40%); background: -o-linear-gradient(transparent 60%, #e0e96d 40%); background: linear-gradient(transparent 60%, #e0e96d 40%); font-weight: 700; }
