@charset "UTF-8";
/*
Theme Name: realize
Author: 
Author URI: 
Version: 1.0.0
*/
@import url(https://fonts.googleapis.com/css?family=Lato:100,100i,300,300i,400,400i,700,700i,900,900i|Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i|Noto+Serif+JP:wght@200;300;400;500;600;700;900);
.clearfix, .container, .container-lower, .overflow-auto > div, .header-menu-container, .footer, .page-container-body, .page-container-body section, .page-container-body div, .page-container-body .gallery { *zoom: 1; }
.clearfix:after, .container:after, .container-lower:after, .overflow-auto > div:after, .header-menu-container:after, .footer:after, .page-container-body:after, .page-container-body section:after, .page-container-body div:after, .page-container-body .gallery:after { content: ""; display: table; clear: both; }

/* --- サイト内共通 ----------------------------------------------------------------------------------------- */
html { font-size: 62.5%; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; }
@media (min-width: 48em) { html { font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; font-size: 125%; } }

body { margin: 0; font-size: 16px; font-size: 1.6rem; line-height: 1.75; letter-spacing: 0.05em; color: #333; }
@media (min-width: 48em) { body { font-size: 0.8rem; } }
body.fixed { position: fixed; top: 0; height: 100%; overflow: hidden; }

a { position: relative; text-decoration: none; color: #1365A1; outline: none; }
@media (min-width: 62em) { a { -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } }

b, strong, .bold { font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; }
@media (min-width: 48em) { b, strong, .bold { font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; } }

video.normal-movie { display: block; margin: 0; min-width: 100%; min-height: auto; width: 100%; height: auto; }

#svgicon { display: block; width: 0; height: 0; overflow: hidden; }

.tel-link a { color: currentColor; }

.anchor-link { margin-top: -50px !important; padding-top: 50px !important; }
@media (min-width: 62em) { .anchor-link { margin-top: -5rem !important; padding-top: 5rem !important; } }

#wrapper { overflow: hidden; }

.container { margin: 0 auto; padding-left: 25px; padding-right: 25px; }
@media (min-width: 64em) { .container { max-width: 1410px; } }
.container-lower { margin: 0 auto; padding-left: 25px; padding-right: 25px; }
@media (min-width: 48em) { .container-lower { max-width: 950px; } }

@media (min-width: 62em) { .f-w-10 { float: left; width: 10% !important; } }

@media (min-width: 62em) { .f-w-20 { float: left; width: 20% !important; } }

@media (min-width: 62em) { .f-w-30 { float: left; width: 30% !important; } }

@media (min-width: 62em) { .f-w-40 { float: left; width: 40% !important; } }

@media (min-width: 62em) { .f-w-50 { float: left; width: 50% !important; } }

@media (min-width: 62em) { .f-w-60 { float: left; width: 60% !important; } }

@media (min-width: 62em) { .f-w-70 { float: left; width: 70% !important; } }

@media (min-width: 62em) { .f-w-80 { float: left; width: 80% !important; } }

@media (min-width: 62em) { .f-w-90 { float: left; width: 90% !important; } }

@media (min-width: 62em) { .f-w-100 { float: left; width: 100% !important; } }

.pd-4px-8px { padding-top: 0.4rem !important; padding-bottom: 0.4rem !important; }

.pd-8px-16px { padding-top: 0.8rem !important; padding-bottom: 0.8rem !important; }

.pd-12px-24px { padding-top: 1.2rem !important; padding-bottom: 1.2rem !important; }

.pd-16px-32px { padding-top: 1.6rem !important; padding-bottom: 1.6rem !important; }

.pd-20px-40px { padding-top: 2rem !important; padding-bottom: 2rem !important; }

.pd-24px-48px { padding-top: 2.4rem !important; padding-bottom: 2.4rem !important; }

.pd-28px-56px { padding-top: 2.8rem !important; padding-bottom: 2.8rem !important; }

.pd-32px-64px { padding-top: 3.2rem !important; padding-bottom: 3.2rem !important; }

.pd-36px-72px { padding-top: 3.6rem !important; padding-bottom: 3.6rem !important; }

.pd-40px-80px { padding-top: 4rem !important; padding-bottom: 4rem !important; }

.pd-box-4px-8px { padding: 0.4rem !important; }
.pd-box-4px-8px p:nth-last-child(1), .pd-box-4px-8px ul:nth-last-child(1), .pd-box-4px-8px ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.pd-box-8px-16px { padding: 0.8rem !important; }
.pd-box-8px-16px p:nth-last-child(1), .pd-box-8px-16px ul:nth-last-child(1), .pd-box-8px-16px ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.pd-box-12px-24px { padding: 1.2rem !important; }
.pd-box-12px-24px p:nth-last-child(1), .pd-box-12px-24px ul:nth-last-child(1), .pd-box-12px-24px ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.pd-box-16px-32px { padding: 1.6rem !important; }
.pd-box-16px-32px p:nth-last-child(1), .pd-box-16px-32px ul:nth-last-child(1), .pd-box-16px-32px ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.pd-box-20px-40px { padding: 2rem !important; }
.pd-box-20px-40px p:nth-last-child(1), .pd-box-20px-40px ul:nth-last-child(1), .pd-box-20px-40px ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.pd-box-24px-48px { padding: 2.4rem !important; }
.pd-box-24px-48px p:nth-last-child(1), .pd-box-24px-48px ul:nth-last-child(1), .pd-box-24px-48px ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.pd-box-28px-56px { padding: 2.8rem !important; }
.pd-box-28px-56px p:nth-last-child(1), .pd-box-28px-56px ul:nth-last-child(1), .pd-box-28px-56px ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.pd-box-32px-64px { padding: 3.2rem !important; }
.pd-box-32px-64px p:nth-last-child(1), .pd-box-32px-64px ul:nth-last-child(1), .pd-box-32px-64px ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.pd-box-36px-72px { padding: 3.6rem !important; }
.pd-box-36px-72px p:nth-last-child(1), .pd-box-36px-72px ul:nth-last-child(1), .pd-box-36px-72px ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.pd-box-40px-80px { padding: 4rem !important; }
.pd-box-40px-80px p:nth-last-child(1), .pd-box-40px-80px ul:nth-last-child(1), .pd-box-40px-80px ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.pd-bottom-0px { padding-bottom: 0 !important; }

.mg-bottom-4px-8px { margin-bottom: 0.4rem !important; }

.mg-bottom-8px-16px { margin-bottom: 0.8rem !important; }

.mg-bottom-12px-24px { margin-bottom: 1.2rem !important; }

.mg-bottom-16px-32px { margin-bottom: 1.6rem !important; }

.mg-bottom-20px-40px { margin-bottom: 2rem !important; }

.mg-bottom-24px-48px { margin-bottom: 2.4rem !important; }

.mg-bottom-28px-56px { margin-bottom: 2.8rem !important; }

.mg-bottom-32px-64px { margin-bottom: 3.2rem !important; }

.mg-bottom-36px-72px { margin-bottom: 3.6rem !important; }

.mg-bottom-40px-80px { margin-bottom: 4rem !important; }

.mg-bottom-44px-88px { margin-bottom: 4.4rem !important; }

.mg-bottom-48px-96px { margin-bottom: 4.8rem !important; }

.mg-bottom-52px-104px { margin-bottom: 5.2rem !important; }

.mg-bottom-56px-112px { margin-bottom: 5.6rem !important; }

.mg-bottom-60px-120px { margin-bottom: 6rem !important; }

.mg-bottom-64px-128px { margin-bottom: 6.4rem !important; }

.mg-bottom-68px-136px { margin-bottom: 6.8rem !important; }

.mg-bottom-72px-144px { margin-bottom: 7.2rem !important; }

.mg-bottom-76px-152px { margin-bottom: 7.6rem !important; }

.mg-bottom-80px-160px { margin-bottom: 8rem !important; }

.mg-lr-2px { margin-left: 2px !important; margin-right: 2px !important; }

.mg-lr-4px { margin-left: 4px !important; margin-right: 4px !important; }

.mg-lr-6px { margin-left: 6px !important; margin-right: 6px !important; }

.mg-lr-8px { margin-left: 8px !important; margin-right: 8px !important; }

.mg-lr-10px { margin-left: 10px !important; margin-right: 10px !important; }

.mg-lr-12px { margin-left: 12px !important; margin-right: 12px !important; }

.mg-bottom-0px { margin-bottom: 0 !important; }

.w-10pc { width: 10% !important; }

@media (min-width: 48em) { .w-10pc-pc { width: 10% !important; } }

.w-20pc { width: 20% !important; }

@media (min-width: 48em) { .w-20pc-pc { width: 20% !important; } }

.w-30pc { width: 30% !important; }

@media (min-width: 48em) { .w-30pc-pc { width: 30% !important; } }

.w-40pc { width: 40% !important; }

@media (min-width: 48em) { .w-40pc-pc { width: 40% !important; } }

.w-50pc { width: 50% !important; }

@media (min-width: 48em) { .w-50pc-pc { width: 50% !important; } }

.w-60pc { width: 60% !important; }

@media (min-width: 48em) { .w-60pc-pc { width: 60% !important; } }

.w-70pc { width: 70% !important; }

@media (min-width: 48em) { .w-70pc-pc { width: 70% !important; } }

.w-80pc { width: 80% !important; }

@media (min-width: 48em) { .w-80pc-pc { width: 80% !important; } }

.w-90pc { width: 90% !important; }

@media (min-width: 48em) { .w-90pc-pc { width: 90% !important; } }

.w-100pc { width: 100% !important; }

@media (min-width: 48em) { .w-100pc-pc { width: 100% !important; } }

.mg-center { margin-left: auto !important; margin-right: auto !important; }

.dp-block { display: block !important; }

.dp-in-block { display: inline-block !important; vertical-align: top; }

.block-sp { display: block !important; }
@media (min-width: 48em) { .block-sp { display: none !important; } }

.block-pc { display: none !important; }
@media (min-width: 48em) { .block-pc { display: block !important; } }

.in-block-sp { display: inline-block !important; }
@media (min-width: 48em) { .in-block-sp { display: none !important; } }

.in-block-pc { display: none !important; }
@media (min-width: 48em) { .in-block-pc { display: inline-block !important; } }

.br-sp { display: block; }
@media (min-width: 48em) { .br-sp { display: none; } }

.br-pc { display: none; }
@media (min-width: 48em) { .br-pc { display: block; } }

.overflow-auto { height: 360px; overflow: auto; border: 1px solid #707070; }
.overflow-auto > div { padding: 20px; }

.googlemap-box iframe { width: 100%; height: 360px; }

.co-center { position: absolute; top: 50%; left: 50%; margin: auto; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
.co-center-y { position: absolute; top: 50%; left: auto; right: auto; margin: auto; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); }

.table-2col { margin-bottom: 1.6rem; }
.table-2col table { width: 100%; margin: 0 !important; }
.table-2col th, .table-2col td { display: block; width: 100%; }
.table-2col td { margin: -1px 0; }
@media (min-width: 48em) { .table-2col th, .table-2col td { display: table-cell; }
  .table-2col th { width: 25%; } }
.table-overflow { margin-bottom: 1.8rem; display: block; overflow-y: auto; white-space: nowrap; width: 100%; }
@media (min-width: 48em) { .table-overflow { white-space: normal; } }
.table-overflow table { width: 972px !important; display: block; margin: 0 !important; white-space: normal; }
@media (min-width: 48em) { .table-overflow table { width: 100% !important; } }

.overflow-box { overflow: auto; margin-bottom: 1.2rem; padding: 0; background-color: #fff; border: 1px solid #707070; height: 20.0rem; }
.overflow-box > div { padding: 2.0rem; }
.overflow-box h3, .overflow-box h4, .overflow-box h5, .overflow-box h6 { margin-top: 0 !important; }
.overflow-box p:nth-last-child(1), .overflow-box ul:nth-last-child(1), .overflow-box ol:nth-last-child(1) { margin-bottom: 0 !important; padding-bottom: 0 !important; }

.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }

.fo-st-italic { font-style: italic; }
.fo-st-normal { font-style: normal; }

.fo-w-normal { font-weight: normal; }
.fo-w-bold { font-weight: bold; }
.fo-w-100 { font-weight: 100 !important; }
.fo-w-300 { font-weight: 300 !important; }
.fo-w-400 { font-weight: 400 !important; }
.fo-w-600 { font-weight: 600 !important; }
.fo-w-700 { font-weight: 700 !important; }
.fo-w-900 { font-weight: 900 !important; }

.fo-fa-jp-go { font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif !important; }
.fo-fa-jp-min { font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif !important; }

.fo-2px { font-size: 2px; font-size: 0.2rem !important; line-height: 5 !important; }
@media (min-width: 48em) { .fo-2px { font-size: 0.1rem !important; } }

.fo-2px-sp { font-size: 2px; font-size: 0.2rem !important; line-height: 5 !important; }

@media (min-width: 48em) { .fo-2px-pc { font-size: 2px; font-size: 0.1rem !important; line-height: 5 !important; } }

.fo-4px { font-size: 4px; font-size: 0.4rem !important; line-height: 3 !important; }
@media (min-width: 48em) { .fo-4px { font-size: 0.2rem !important; } }

.fo-4px-sp { font-size: 4px; font-size: 0.4rem !important; line-height: 3 !important; }

@media (min-width: 48em) { .fo-4px-pc { font-size: 4px; font-size: 0.2rem !important; line-height: 3 !important; } }

.fo-6px { font-size: 6px; font-size: 0.6rem !important; line-height: 2.3333333333 !important; }
@media (min-width: 48em) { .fo-6px { font-size: 0.3rem !important; } }

.fo-6px-sp { font-size: 6px; font-size: 0.6rem !important; line-height: 2.3333333333 !important; }

@media (min-width: 48em) { .fo-6px-pc { font-size: 6px; font-size: 0.3rem !important; line-height: 2.3333333333 !important; } }

.fo-8px { font-size: 8px; font-size: 0.8rem !important; line-height: 2 !important; }
@media (min-width: 48em) { .fo-8px { font-size: 0.4rem !important; } }

.fo-8px-sp { font-size: 8px; font-size: 0.8rem !important; line-height: 2 !important; }

@media (min-width: 48em) { .fo-8px-pc { font-size: 8px; font-size: 0.4rem !important; line-height: 2 !important; } }

.fo-10px { font-size: 10px; font-size: 1rem !important; line-height: 1.8 !important; }
@media (min-width: 48em) { .fo-10px { font-size: 0.5rem !important; } }

.fo-10px-sp { font-size: 10px; font-size: 1rem !important; line-height: 1.8 !important; }

@media (min-width: 48em) { .fo-10px-pc { font-size: 10px; font-size: 0.5rem !important; line-height: 1.8 !important; } }

.fo-12px { font-size: 12px; font-size: 1.2rem !important; line-height: 1.6666666667 !important; }
@media (min-width: 48em) { .fo-12px { font-size: 0.6rem !important; } }

.fo-12px-sp { font-size: 12px; font-size: 1.2rem !important; line-height: 1.6666666667 !important; }

@media (min-width: 48em) { .fo-12px-pc { font-size: 12px; font-size: 0.6rem !important; line-height: 1.6666666667 !important; } }

.fo-14px { font-size: 14px; font-size: 1.4rem !important; line-height: 1.5714285714 !important; }
@media (min-width: 48em) { .fo-14px { font-size: 0.7rem !important; } }

.fo-14px-sp { font-size: 14px; font-size: 1.4rem !important; line-height: 1.5714285714 !important; }

@media (min-width: 48em) { .fo-14px-pc { font-size: 14px; font-size: 0.7rem !important; line-height: 1.5714285714 !important; } }

.fo-16px { font-size: 16px; font-size: 1.6rem !important; line-height: 1.5 !important; }
@media (min-width: 48em) { .fo-16px { font-size: 0.8rem !important; } }

.fo-16px-sp { font-size: 16px; font-size: 1.6rem !important; line-height: 1.5 !important; }

@media (min-width: 48em) { .fo-16px-pc { font-size: 16px; font-size: 0.8rem !important; line-height: 1.5 !important; } }

.fo-18px { font-size: 18px; font-size: 1.8rem !important; line-height: 1.4444444444 !important; }
@media (min-width: 48em) { .fo-18px { font-size: 0.9rem !important; } }

.fo-18px-sp { font-size: 18px; font-size: 1.8rem !important; line-height: 1.4444444444 !important; }

@media (min-width: 48em) { .fo-18px-pc { font-size: 18px; font-size: 0.9rem !important; line-height: 1.4444444444 !important; } }

.fo-20px { font-size: 20px; font-size: 2rem !important; line-height: 1.4 !important; }
@media (min-width: 48em) { .fo-20px { font-size: 1rem !important; } }

.fo-20px-sp { font-size: 20px; font-size: 2rem !important; line-height: 1.4 !important; }

@media (min-width: 48em) { .fo-20px-pc { font-size: 20px; font-size: 1rem !important; line-height: 1.4 !important; } }

.fo-22px { font-size: 22px; font-size: 2.2rem !important; line-height: 1.3636363636 !important; }
@media (min-width: 48em) { .fo-22px { font-size: 1.1rem !important; } }

.fo-22px-sp { font-size: 22px; font-size: 2.2rem !important; line-height: 1.3636363636 !important; }

@media (min-width: 48em) { .fo-22px-pc { font-size: 22px; font-size: 1.1rem !important; line-height: 1.3636363636 !important; } }

.fo-24px { font-size: 24px; font-size: 2.4rem !important; line-height: 1.3333333333 !important; }
@media (min-width: 48em) { .fo-24px { font-size: 1.2rem !important; } }

.fo-24px-sp { font-size: 24px; font-size: 2.4rem !important; line-height: 1.3333333333 !important; }

@media (min-width: 48em) { .fo-24px-pc { font-size: 24px; font-size: 1.2rem !important; line-height: 1.3333333333 !important; } }

.fo-26px { font-size: 26px; font-size: 2.6rem !important; line-height: 1.3076923077 !important; }
@media (min-width: 48em) { .fo-26px { font-size: 1.3rem !important; } }

.fo-26px-sp { font-size: 26px; font-size: 2.6rem !important; line-height: 1.3076923077 !important; }

@media (min-width: 48em) { .fo-26px-pc { font-size: 26px; font-size: 1.3rem !important; line-height: 1.3076923077 !important; } }

.fo-28px { font-size: 28px; font-size: 2.8rem !important; line-height: 1.2857142857 !important; }
@media (min-width: 48em) { .fo-28px { font-size: 1.4rem !important; } }

.fo-28px-sp { font-size: 28px; font-size: 2.8rem !important; line-height: 1.2857142857 !important; }

@media (min-width: 48em) { .fo-28px-pc { font-size: 28px; font-size: 1.4rem !important; line-height: 1.2857142857 !important; } }

.fo-30px { font-size: 30px; font-size: 3rem !important; line-height: 1.2666666667 !important; }
@media (min-width: 48em) { .fo-30px { font-size: 1.5rem !important; } }

.fo-30px-sp { font-size: 30px; font-size: 3rem !important; line-height: 1.2666666667 !important; }

@media (min-width: 48em) { .fo-30px-pc { font-size: 30px; font-size: 1.5rem !important; line-height: 1.2666666667 !important; } }

.fo-32px { font-size: 32px; font-size: 3.2rem !important; line-height: 1.25 !important; }
@media (min-width: 48em) { .fo-32px { font-size: 1.6rem !important; } }

.fo-32px-sp { font-size: 32px; font-size: 3.2rem !important; line-height: 1.25 !important; }

@media (min-width: 48em) { .fo-32px-pc { font-size: 32px; font-size: 1.6rem !important; line-height: 1.25 !important; } }

.fo-34px { font-size: 34px; font-size: 3.4rem !important; line-height: 1.2352941176 !important; }
@media (min-width: 48em) { .fo-34px { font-size: 1.7rem !important; } }

.fo-34px-sp { font-size: 34px; font-size: 3.4rem !important; line-height: 1.2352941176 !important; }

@media (min-width: 48em) { .fo-34px-pc { font-size: 34px; font-size: 1.7rem !important; line-height: 1.2352941176 !important; } }

.fo-36px { font-size: 36px; font-size: 3.6rem !important; line-height: 1.2222222222 !important; }
@media (min-width: 48em) { .fo-36px { font-size: 1.8rem !important; } }

.fo-36px-sp { font-size: 36px; font-size: 3.6rem !important; line-height: 1.2222222222 !important; }

@media (min-width: 48em) { .fo-36px-pc { font-size: 36px; font-size: 1.8rem !important; line-height: 1.2222222222 !important; } }

.fo-38px { font-size: 38px; font-size: 3.8rem !important; line-height: 1.2105263158 !important; }
@media (min-width: 48em) { .fo-38px { font-size: 1.9rem !important; } }

.fo-38px-sp { font-size: 38px; font-size: 3.8rem !important; line-height: 1.2105263158 !important; }

@media (min-width: 48em) { .fo-38px-pc { font-size: 38px; font-size: 1.9rem !important; line-height: 1.2105263158 !important; } }

.fo-40px { font-size: 40px; font-size: 4rem !important; line-height: 1.2 !important; }
@media (min-width: 48em) { .fo-40px { font-size: 2rem !important; } }

.fo-40px-sp { font-size: 40px; font-size: 4rem !important; line-height: 1.2 !important; }

@media (min-width: 48em) { .fo-40px-pc { font-size: 40px; font-size: 2rem !important; line-height: 1.2 !important; } }

.fo-42px { font-size: 42px; font-size: 4.2rem !important; line-height: 1.1904761905 !important; }
@media (min-width: 48em) { .fo-42px { font-size: 2.1rem !important; } }

.fo-42px-sp { font-size: 42px; font-size: 4.2rem !important; line-height: 1.1904761905 !important; }

@media (min-width: 48em) { .fo-42px-pc { font-size: 42px; font-size: 2.1rem !important; line-height: 1.1904761905 !important; } }

.fo-44px { font-size: 44px; font-size: 4.4rem !important; line-height: 1.1818181818 !important; }
@media (min-width: 48em) { .fo-44px { font-size: 2.2rem !important; } }

.fo-44px-sp { font-size: 44px; font-size: 4.4rem !important; line-height: 1.1818181818 !important; }

@media (min-width: 48em) { .fo-44px-pc { font-size: 44px; font-size: 2.2rem !important; line-height: 1.1818181818 !important; } }

.fo-46px { font-size: 46px; font-size: 4.6rem !important; line-height: 1.1739130435 !important; }
@media (min-width: 48em) { .fo-46px { font-size: 2.3rem !important; } }

.fo-46px-sp { font-size: 46px; font-size: 4.6rem !important; line-height: 1.1739130435 !important; }

@media (min-width: 48em) { .fo-46px-pc { font-size: 46px; font-size: 2.3rem !important; line-height: 1.1739130435 !important; } }

.fo-48px { font-size: 48px; font-size: 4.8rem !important; line-height: 1.1666666667 !important; }
@media (min-width: 48em) { .fo-48px { font-size: 2.4rem !important; } }

.fo-48px-sp { font-size: 48px; font-size: 4.8rem !important; line-height: 1.1666666667 !important; }

@media (min-width: 48em) { .fo-48px-pc { font-size: 48px; font-size: 2.4rem !important; line-height: 1.1666666667 !important; } }

.fo-50px { font-size: 50px; font-size: 5rem !important; line-height: 1.16 !important; }
@media (min-width: 48em) { .fo-50px { font-size: 2.5rem !important; } }

.fo-50px-sp { font-size: 50px; font-size: 5rem !important; line-height: 1.16 !important; }

@media (min-width: 48em) { .fo-50px-pc { font-size: 50px; font-size: 2.5rem !important; line-height: 1.16 !important; } }

.fo-52px { font-size: 52px; font-size: 5.2rem !important; line-height: 1.1538461538 !important; }
@media (min-width: 48em) { .fo-52px { font-size: 2.6rem !important; } }

.fo-52px-sp { font-size: 52px; font-size: 5.2rem !important; line-height: 1.1538461538 !important; }

@media (min-width: 48em) { .fo-52px-pc { font-size: 52px; font-size: 2.6rem !important; line-height: 1.1538461538 !important; } }

.fo-54px { font-size: 54px; font-size: 5.4rem !important; line-height: 1.1481481481 !important; }
@media (min-width: 48em) { .fo-54px { font-size: 2.7rem !important; } }

.fo-54px-sp { font-size: 54px; font-size: 5.4rem !important; line-height: 1.1481481481 !important; }

@media (min-width: 48em) { .fo-54px-pc { font-size: 54px; font-size: 2.7rem !important; line-height: 1.1481481481 !important; } }

.fo-56px { font-size: 56px; font-size: 5.6rem !important; line-height: 1.1428571429 !important; }
@media (min-width: 48em) { .fo-56px { font-size: 2.8rem !important; } }

.fo-56px-sp { font-size: 56px; font-size: 5.6rem !important; line-height: 1.1428571429 !important; }

@media (min-width: 48em) { .fo-56px-pc { font-size: 56px; font-size: 2.8rem !important; line-height: 1.1428571429 !important; } }

.fo-58px { font-size: 58px; font-size: 5.8rem !important; line-height: 1.1379310345 !important; }
@media (min-width: 48em) { .fo-58px { font-size: 2.9rem !important; } }

.fo-58px-sp { font-size: 58px; font-size: 5.8rem !important; line-height: 1.1379310345 !important; }

@media (min-width: 48em) { .fo-58px-pc { font-size: 58px; font-size: 2.9rem !important; line-height: 1.1379310345 !important; } }

.fo-60px { font-size: 60px; font-size: 6rem !important; line-height: 1.1333333333 !important; }
@media (min-width: 48em) { .fo-60px { font-size: 3rem !important; } }

.fo-60px-sp { font-size: 60px; font-size: 6rem !important; line-height: 1.1333333333 !important; }

@media (min-width: 48em) { .fo-60px-pc { font-size: 60px; font-size: 3rem !important; line-height: 1.1333333333 !important; } }

.fo-co-base { color: #1365A1 !important; }
.fo-co-sub { color: #242863 !important; }
.fo-co-white { color: #fff !important; }
.fo-co-black { color: black !important; }
.fo-co-gray { color: #999999 !important; }
.fo-co-red { color: #cc374b !important; }
.fo-co-pink { color: #f36861 !important; }
.fo-co-blue { color: #36b1c0 !important; }
.fo-co-green { color: #1e9e49 !important; }
.fo-co-orange { color: #faa701 !important; }
.fo-co-yellow { color: #ffff00 !important; }

.text-lh-16px { line-height: 16px; }

.text-lh-24px { line-height: 24px; }

.text-lh-32px { line-height: 32px; }

.text-lh-40px { line-height: 40px; }

.text-lh-48px { line-height: 48px; }

.text-lh-56px { line-height: 56px; }

.text-num-0 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-0:before { content: "0"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-0:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.text-num-1 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-1:before { content: "1"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-1:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.text-num-2 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-2:before { content: "2"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-2:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.text-num-3 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-3:before { content: "3"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-3:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.text-num-4 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-4:before { content: "4"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-4:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.text-num-5 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-5:before { content: "5"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-5:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.text-num-6 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-6:before { content: "6"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-6:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.text-num-7 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-7:before { content: "7"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-7:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.text-num-8 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-8:before { content: "8"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-8:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.text-num-9 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-9:before { content: "9"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-9:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.text-num-10 { position: relative; display: inline-block; padding: 0 0 0 32px; }
.text-num-10:before { content: "10"; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; z-index: 1; line-height: 24px; text-align: center; color: #fff; font-weight: 400; }
.text-num-10:after { content: ''; position: absolute; top: 2px; left: 0; width: 24px; height: 24px; background-color: #000; border-radius: 24px; }

.img-float-l, .img-float-r { display: block; margin: 0 auto 2rem auto; text-align: center; }
@media (min-width: 30em) { .img-float-l, .img-float-r { float: left; display: inline-block; margin: 0 1.875rem 1.875rem 0; } }
@media (min-width: 30em) { .img-float-r { float: right; margin: 0 0 1.875rem 1.875rem; } }

img.img-sp { display: block; }
@media (min-width: 62em) { img.img-sp { display: none; } }
img.img-pc { display: none; }
@media (min-width: 62em) { img.img-pc { display: block; } }

.border-top { border-top: 1px #707070 solid; }
.border-top-dotted { border-top: 1px #707070 dotted; }
.border-bottom { border-bottom: 1px #707070 solid; }
.border-bottom-dotted { border-bottom: 1px #707070 dotted; }
.border-1px { border: 1px solid #707070; }
.border-2px { border: 2px solid #707070; }
.border-3px { border: 3px solid #e6e9ee; }
.border-4px { border: 4px solid #e6e9ee; }
.border-5px { border: 5px solid #e6e9ee; }
.border-dotted { border-style: dotted; }
.border-co-base { border-color: #1365A1 !important; }
.border-co-white { border-color: #fff !important; }
.border-co-black { border-color: black !important; }
.border-co-gray { border-color: #999999 !important; }
.border-co-red { border-color: #cc374b !important; }
.border-co-pink { border-color: #f36861 !important; }
.border-co-blue { border-color: #36b1c0 !important; }
.border-co-green { border-color: #1e9e49 !important; }
.border-co-orange { border-color: #faa701 !important; }
.border-co-yellow { border-color: #ffff00 !important; }

.bg-co-base { background-color: #1365A1; color: #fff; }
.bg-co-gray { background-color: #f5f6f8; }
.bg-co-gray-light { background-color: #e6e9ee; }
.bg-co-gray-middle { background-color: #d7dbe3; }
.bg-co-gray-dark { background-color: #c8ced9; }
.bg-co-black { background-color: black; color: #fff; }
.bg-co-red { background-color: #cc374b; color: #fff; }
.bg-co-pink { background-color: #f36861; color: #fff; }
.bg-co-white { background-color: #fff; }

#PagetopBtn { position: fixed; left: -44px; bottom: 24px; z-index: 3000; opacity: 0; -webkit-transition: 0.3s ease-in; -moz-transition: 0.3s ease-in; transition: 0.3s ease-in; }
#PagetopBtn.visible { left: 0; opacity: 1; }
#PagetopBtn a { outline: none; width: 48px; height: 48px; display: block; color: #fff; text-align: center; font-size: 16px; line-height: 46px; background-color: rgba(36, 40, 99, 0.95); }
@media (min-width: 62em) { #PagetopBtn a:hover { opacity: 0.60; } }

.accordion-menu-btn { cursor: pointer; }
.accordion-menu-box { display: none; }
.accordion-menu-box.visible { display: none; }

.accordion-menu-sp-btn { cursor: pointer; }
@media (min-width: 48em) { .accordion-menu-sp-btn { cursor: auto; } }
.accordion-menu-sp-box { display: none; }
.accordion-menu-sp-box.open { display: block; }
@media (min-width: 48em) { .accordion-menu-sp-box { display: block; } }

.slider, .slider-movie { margin: 0 !important; padding: 0 30px !important; list-style: none !important; }
@media (min-width: 48em) { .slider, .slider-movie { padding: 0 48px !important; } }
.slider li, .slider-movie li { margin: 0 !important; padding: 0 !important; }
.slider li:before, .slider-movie li:before { display: none !important; }
.slider img, .slider-movie img { margin: 0 auto; min-width: 100%; }

.slick-list { z-index: 0; }

/* Arrows */
.slick-prev, .slick-next { font-size: 0; line-height: 0; position: absolute; top: 50%; margin-top: -80px; display: block; width: 48px; height: 48px; padding: 0; cursor: pointer; border: none; outline: none; background: transparent; z-index: 100; }

.slick-prev { left: 50px; border-bottom: 2px solid #aaa; border-left: 2px solid #aaa; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); }
@media (min-width: 62em) { .slick-prev { left: 150px; }
  .slick-prev:hover { border-color: #242863; } }

.slick-next { right: 50px; border-bottom: 2px solid #aaa; border-right: 2px solid #aaa; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }
@media (min-width: 62em) { .slick-next { right: 150px; }
  .slick-next:hover { border-color: #242863; } }

.slick-prev:hover:before, .slick-next:hover:before { color: white; }

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { color: rgba(255, 255, 255, 0.6); }

/* Dots */
.slick-dots { position: absolute; left: 0; bottom: 0; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; z-index: 300; }
@media (min-width: 48em) { .slick-dots { bottom: 8px; } }
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0; padding: 0; cursor: pointer; vertical-align: middle; }
.slick-dots li button { font-size: 0; line-height: 0; display: block; padding: 0; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; }
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before { opacity: 1; }
.slick-dots li button:before { line-height: 12px; position: absolute; top: 0; left: 50%; width: 10px; height: 10px; margin-left: -5px; content: ''; background-color: rgba(170, 170, 170, 0.8); border-radius: 100%; text-align: center; color: black; }
.slick-dots li.slick-active button:before { background-color: #1365a1; }

.slider-multi .slick-slide { width: 320px; }
@media (min-width: 48em) { .slider-multi .slick-slide { width: 768px; } }
@media (min-width: 62em) { .slider-multi .slick-slide { width: 970px; } }

.youtube-movie { width: 100%; overflow: hidden; position: relative; padding-bottom: 56.25%; margin-bottom: 10px; }
.youtube-movie iframe { position: absolute; top: 0; left: 0; min-width: 100%; min-height: 100%; width: 100%; height: 100%; }
.youtube-movie-w100 { width: 100%; overflow: hidden; position: relative; padding-bottom: 56.25%; }
@media (min-width: 62em) { .youtube-movie-w100 { display: inline-block; vertical-align: top; margin: 0 auto; overflow: auto; position: relative; padding-bottom: 0; } }
.youtube-movie-w100 iframe { position: absolute; top: 0; left: 0; min-width: 100%; min-height: 100%; width: 100%; height: 100%; }
@media (min-width: 62em) { .youtube-movie-w100 iframe { position: relative; top: 0; left: 0; min-width: 100%; min-height: 480px; width: 100%; height: 480px; } }

@-webkit-keyframes slide { 0% { left: -100%; }
  100% { left: 0; } }
@-moz-keyframes slide { 0% { left: -100%; }
  100% { left: 0; } }
@keyframes slide { 0% { left: -100%; }
  100% { left: 0; } }
@-webkit-keyframes fade { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-moz-keyframes fade { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes fade { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-webkit-keyframes headerbutton { 0% { width: 0; }
  100% { width: 100%; } }
@-moz-keyframes headerbutton { 0% { width: 0; }
  100% { width: 100%; } }
@keyframes headerbutton { 0% { width: 0; }
  100% { width: 100%; } }
#loading { position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100%; background-color: #fff; color: #fff; z-index: 10000; -webkit-transition: 0.5s ease-in-out; -moz-transition: 0.5s ease-in-out; transition: 0.5s ease-in-out; }
#loading.fadeout { z-index: -1; opacity: 0; }

.loading-container { position: absolute; top: 50%; left: 50%; width: 230px; margin: auto; text-align: center; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
.loading-icon { margin-bottom: 77px; }
.loading-icon img { width: 107px; height: 107px; }
.loading-bar { margin-bottom: 10px; padding: 2px; width: 100%; height: 10px; background-color: #EEEEEE; border-radius: 10px; }
.loading-bar #loadingBar { width: 0; height: 6px; background-color: #1365A1; border-radius: 8px; }
.loading-text { min-height: 24px; letter-spacing: 0.05em; font-display: swap; font-size: 15px; line-height: 1; font-family: Lato; color: #1365A1; }

#header.top #headerNav { top: -6.0rem; }
#header.top.sticky #headerNav { top: 0; }
#header.top.sticky .header-menu .header-container { position: relative; height: auto; }
#header.top.sticky .header-menu .header-title { opacity: 0; height: 106px; }
#header.top.sticky .header-menu .header-title .menu-close { display: none; }
#header.top.sticky .header-menu .header-title .menu-open { display: block; }
#header.top.sticky .header-menu .header-nav { display: block; }
#header.top.sticky .header-menu .menubutton { display: none; }

#headerNav { position: fixed; top: 0; width: 100%; z-index: 2100; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
#headerNav.close .header-title { display: none; background: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
#headerNav.close .header-title .menu-close { display: none; }
#headerNav.close .header-title .menu-open { display: block; }
#headerNav.close .header-title.sp { justify-content: center; height: 106px; padding: 0; }
#headerNav.close .header-title.sp .title { width: 212px; }

.header-container { position: relative; height: 5rem; }
.header-title { display: none; justify-content: center; align-items: center; margin: 0; width: 100%; height: 5rem; background-color: #fff; -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
@media (min-width: 48em) { .header-title { display: flex; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; } }
.header-title.sp { display: flex; justify-content: flex-start; padding-left: 16px; }
@media (min-width: 48em) { .header-title.sp { display: none; } }
.header-title.sp .title { width: 103px; }
@media (min-width: 48em) { .header-title .title { width: 280px; } }
.header-title img { width: 100%; }
.header-title .menu-close { display: block; }
.header-title .menu-open { display: none; }
.header-nav { display: none; padding: 8px 48px 48px 48px; color: #fff; }
@media (min-width: 48em) { .header-nav { padding: 56px 20px 75px 20px; } }
.header-nav a { display: block; color: #fff; }
.header-nav-link { margin: 0 auto 54px auto; padding: 0; list-style: none; max-width: 1400px; font-weight: 700; }
@media (min-width: 48em) { .header-nav-link { display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 30px; } }
.header-nav-link li { position: relative; margin-bottom: 22px; border-bottom: 1px solid #fff; }
.header-nav-link li::after { content: ''; position: absolute; top: 11px; right: 0; width: 0; height: 0; border-style: solid; border-width: 5px 3px 0 3px; border-color: #fff transparent transparent transparent; }
@media (min-width: 48em) { .header-nav-link li { width: 240px; margin: 0 20px 40px 20px; } }
@media (min-width: 62em) { .header-nav-link li { border-bottom: none; } }
.header-nav-link a { padding-bottom: 10px; }
@media (min-width: 62em) { .header-nav-link a { text-decoration: none; }
  .header-nav-link a::before, .header-nav-link a::after { content: ''; position: absolute; left: 0; bottom: 0; height: 1px; background-color: currentColor; width: 0; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
  .header-nav-link a::before { width: 100%; }
  .header-nav-link a::after { width: 0; }
  .header-nav-link a:hover::before { display: none; }
  .header-nav-link a:hover::after { -webkit-animation: headerbutton 0.5s ease-in-out 0.3s both; -moz-animation: headerbutton 0.5s ease-in-out 0.3s both; animation: headerbutton 0.5s ease-in-out 0.3s both; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; } }
.header-nav-contact { margin: 0; padding: 0; font-size: 1.6rem; line-height: 1.75; font-weight: 700; text-align: center; }
@media (min-width: 48em) { .header-nav-contact { font-size: 1rem; line-height: 1.6; } }
.header-nav-contact a { display: block; margin: auto; padding: 12px; max-width: 410px; border: 1px solid #fff; border-radius: 80px; }
@media (min-width: 48em) { .header-nav-contact a { padding: 19px; } }
.header-nav-contact a:hover { background-color: #fff; color: #1365A1; }

.header-menu { opacity: 0; }
.header-menu.open { opacity: 1; }
.header-menu.open .header-menu-container { display: block; z-index: 2000; opacity: 1; visibility: visible; }
.header-menu-container { position: fixed; top: 0; left: 0; right: 0; margin: auto; overflow-y: auto; background-color: #1365A1; z-index: -10; opacity: 0; visibility: hidden; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
.header-menu-container .header-container { position: relative; height: auto; }
.header-menu-container .header-title { background: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
.header-menu-container .header-title.sp { justify-content: center; height: 106px; padding: 0; /*display: flex;
justify-content: flex-start;
padding-left: 16px;
@include media(tablet){ display: none;
}
.title{ width: 103px;
}*/ }
.header-menu-container .header-title.sp .title { width: 212px; }
.header-menu-container .header-title .menu-close { display: none; }
.header-menu-container .header-title .menu-open { display: block; }
.header-menu-container .header-nav { display: block; }
.header-menu .menubutton { display: none; }

.menubutton { position: absolute; top: 16px; right: 16px; margin: 0; padding: 0; width: 70px; height: 20px; display: block; z-index: 2200; cursor: pointer; }
@media (min-width: 48em) { .menubutton { top: 50%; right: 48px; margin: -11px 0 0 0; width: 90px; } }
.menubutton.top { top: 16px; right: 16px; }
@media (min-width: 48em) { .menubutton.top { top: 24px; right: 48px; margin: 0; } }
.menubutton .menu-btn-icon { display: block; position: absolute; top: 50%; right: 0; width: 11px; height: 1px; margin: -2px 0 0 0; background-color: #1365A1; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
.menubutton .menu-btn-icon:before, .menubutton .menu-btn-icon:after { content: ""; display: block; position: absolute; top: 0; left: 0; width: 11px; height: 1px; background-color: #1365A1; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
.menubutton .menu-btn-icon:before { margin-top: -5px; }
.menubutton .menu-btn-icon:after { margin-top: 5px; }
@media (min-width: 48em) { .menubutton .menu-btn-icon { width: 14px; }
  .menubutton .menu-btn-icon:before, .menubutton .menu-btn-icon:after { width: 14px; }
  .menubutton .menu-btn-icon:before { margin-top: -6px; }
  .menubutton .menu-btn-icon:after { margin-top: 6px; } }
.menubutton .menu-btn-text { position: absolute; top: 2.5px; left: 0; width: 100%; font-size: 14px; line-height: 1; color: #1365A1; font-weight: 400; }
@media (min-width: 48em) { .menubutton .menu-btn-text { top: 0; font-size: 18px; } }
.menubutton .menu-btn-text.menu-close { display: block; }
.menubutton .menu-btn-text.menu-open { display: none; }
.menubutton.open .menu-btn-icon { background: transparent; }
.menubutton.open .menu-btn-icon:before { margin-top: 0; background-color: #fff; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }
.menubutton.open .menu-btn-icon:after { margin-top: 0; background-color: #fff; -webkit-transform: rotate(-135deg); -moz-transform: rotate(-135deg); transform: rotate(-135deg); }
.menubutton.open .menu-btn-text { display: none; color: #fff; }
@media (min-width: 48em) { .menubutton.open .menu-btn-text { display: block; }
  .menubutton.open .menu-btn-text.menu-close { display: none; }
  .menubutton.open .menu-btn-text.menu-open { display: block; } }

.footer { position: relative; padding: 72px 48px 50px 48px; background-color: #1365A1; color: #fff; }
@media (min-width: 48em) { .footer { padding: 100px 48px 50px 48px; } }
.footer a { color: #fff; }
.footer-container { margin: auto; max-width: 1296px; }
.footer-logo { margin: 0 auto 75px auto; max-width: 212px; text-align: center; }
@media (min-width: 48em) { .footer-logo { margin-bottom: 107px; } }
@media (min-width: 62em) { .footer-logo { max-width: 628px; } }
.footer-logo a { display: block; }
.footer-logo img { width: 100%; }
.footer-content { margin-bottom: 48px; }
@media (min-width: 62em) { .footer-content { display: flex; justify-content: space-between; margin-bottom: 130px; } }
.footer-content .title { margin: 0; padding: 0 0 12px; border-bottom: 1px solid #fff; font-size: 1.5rem; line-height: 1.8; font-weight: 700; text-align: center; }
@media (min-width: 48em) { .footer-content .title { font-size: 0.75rem; text-align: left; } }
.footer-content .title br { display: block; }
@media (min-width: 48em) { .footer-content .title br { display: none; } }
.footer-content .news { margin-bottom: 48px; }
@media (min-width: 62em) { .footer-content .news { width: 58%; margin: 0; } }
.footer-content .news-list { margin: 0; padding: 0; list-style: none; }
.footer-content .news-list li { margin: 0; border-bottom: 1px solid #fff; font-size: 1.3rem; line-height: 1.8571428571; }
@media (min-width: 48em) { .footer-content .news-list li { font-size: 0.75rem; line-height: 1.8; text-align: left; } }
.footer-content .news-list li > a, .footer-content .news-list li > span { display: block; padding: 14px 0; }
@media (min-width: 48em) { .footer-content .news-list li > a, .footer-content .news-list li > span { display: flex; justify-content: space-between; } }
.footer-content .news-list-day { display: block; width: 118px; font-family: Roboto; font-weight: 700; }
.footer-content .news-list-title { display: block; flex: 1; }
.footer-content .sitemap { margin-bottom: 48px; }
@media (min-width: 62em) { .footer-content .sitemap { width: 29%; margin: 0; } }
.footer-content .sitemap .link { margin: 12px 0 0 0; padding: 0; list-style: none; font-size: 1.3rem; line-height: 1.9230769231; font-weight: 700; }
@media (min-width: 48em) { .footer-content .sitemap .link { font-size: 0.65rem; } }
.footer-content .sitemap .link li { margin: 0 0 12px; }
.footer-content .sitemap .link a { text-decoration: underline; }
@media (min-width: 62em) { .footer-content .sitemap .link a { text-decoration: none; }
  .footer-content .sitemap .link a:before { content: ''; position: absolute; bottom: 0; height: 1px; background-color: currentColor; width: 0; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
  .footer-content .sitemap .link a:before { left: 0; }
  .footer-content .sitemap .link a:hover:before { width: 100%; } }
.footer-content .sitemap .link br { display: block; }
@media (min-width: 48em) { .footer-content .sitemap .link br { display: none; } }
.footer-contact { margin: 0 0 48px; padding: 0; font-size: 1.6rem; line-height: 1.75; font-weight: 700; text-align: center; }
@media (min-width: 48em) { .footer-contact { margin: 0 0 76px; font-size: 1rem; line-height: 1.6; } }
.footer-contact a { display: block; margin: auto; padding: 12px; max-width: 410px; border: 1px solid #fff; border-radius: 80px; }
@media (min-width: 48em) { .footer-contact a { padding: 19px; } }
.footer-contact a:hover { background-color: #fff; color: #1365A1; }
.footer-sublink { margin: 0; padding: 0; text-align: center; }
.footer-sublink .link { margin: 0 0 30px; padding: 0; list-style: none; }
@media (min-width: 48em) { .footer-sublink .link { display: flex; justify-content: center; margin: 0 0 22px; } }
.footer-sublink .link li { display: block; position: relative; margin: 0 0 15px; font-size: 1.2rem; line-height: 1; font-weight: 700; text-align: center; }
@media (min-width: 48em) { .footer-sublink .link li { margin: 0 0 9px; font-size: 0.6rem; }
  .footer-sublink .link li::after { content: ''; position: absolute; right: 0; top: 0; width: 1px; height: 100%; background-color: #fff; } }
.footer-sublink .link li:nth-last-child(-n + 1) { margin: 0; }
.footer-sublink .link li:nth-last-child(-n + 1)::after { display: none; }
.footer-sublink .link li a { display: block; }
@media (min-width: 48em) { .footer-sublink .link li a { margin: 0 15px; } }
@media (min-width: 62em) { .footer-sublink .link li a { margin: 0 30px; }
  .footer-sublink .link li a:before, .footer-sublink .link li a:after { content: ''; position: absolute; bottom: 0; height: 1px; background-color: currentColor; width: 0; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
  .footer-sublink .link li a:before { left: 50%; }
  .footer-sublink .link li a:after { right: 50%; }
  .footer-sublink .link li a:hover:before, .footer-sublink .link li a:hover:after { width: 50%; } }
.footer-sublink .copy { margin: 0; font-size: 1.2rem; line-height: 2; font-family: Lato; text-align: center; }
@media (min-width: 48em) { .footer-sublink .copy { font-size: 0.6rem; } }

.pankuzu { position: relative; top: 2.0rem; margin: 0; padding: 0; width: 100%; font-size: 1.6rem; line-height: 22px; font-weight: 400; }
@media (min-width: 48em) { .pankuzu { font-size: 0.8rem; } }
@media (min-width: 62em) { .pankuzu { width: 80%; } }
.pankuzu a, .pankuzu .breadcrumb_last { position: relative; display: inline-block; vertical-align: top; margin-left: 20px; padding: 0; color: #1365A1; }
.pankuzu a:after, .pankuzu .breadcrumb_last:after { height: auto !important; width: auto !important; background: none !important; content: '\f105'; position: absolute; left: -15px; top: 2px; font-family: "Font Awesome 5 Pro"; font-size: 14px; line-height: 22px; font-weight: normal; }
.pankuzu a:before, .pankuzu .breadcrumb_last:before { left: 0; }
@media (min-width: 62em) { .pankuzu a:hover:before { width: 100%; } }
.pankuzu > span > span > a { margin-left: 0; }
.pankuzu > span > span > a:after { display: none; }
.pankuzu .breadcrumb_last { color: #1365A1; }
.pankuzu.news .breadcrumb_last { display: none; }

@-webkit-keyframes topmoviebg { 0% { top: -30%; }
  100% { top: -230%; } }
@-moz-keyframes topmoviebg { 0% { top: -30%; }
  100% { top: -230%; } }
@keyframes topmoviebg { 0% { top: -30%; }
  100% { top: -230%; } }
@-webkit-keyframes topmovietxt { 0% { opacity: 1; }
  100% { opacity: 0; } }
@-moz-keyframes topmovietxt { 0% { opacity: 1; }
  100% { opacity: 0; } }
@keyframes topmovietxt { 0% { opacity: 1; }
  100% { opacity: 0; } }
@-webkit-keyframes topmoviescroll { 0% { opacity: 0; bottom: 3.8rem; }
  100% { opacity: 1; bottom: 2.5rem; } }
@-moz-keyframes topmoviescroll { 0% { opacity: 0; bottom: 3.8rem; }
  100% { opacity: 1; bottom: 2.5rem; } }
@keyframes topmoviescroll { 0% { opacity: 0; bottom: 3.8rem; }
  100% { opacity: 1; bottom: 2.5rem; } }
@-webkit-keyframes topmoviearrow { 0% { opacity: 0; bottom: 5px; }
  100% { opacity: 1; bottom: -5px; } }
@-moz-keyframes topmoviearrow { 0% { opacity: 0; bottom: 5px; }
  100% { opacity: 1; bottom: -5px; } }
@keyframes topmoviearrow { 0% { opacity: 0; bottom: 5px; }
  100% { opacity: 1; bottom: -5px; } }
@-webkit-keyframes topaboutbg { 0% { width: 0; }
  100% { width: 100%; } }
@-moz-keyframes topaboutbg { 0% { width: 0; }
  100% { width: 100%; } }
@keyframes topaboutbg { 0% { width: 0; }
  100% { width: 100%; } }
@-webkit-keyframes topabouttitle { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-moz-keyframes topabouttitle { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes topabouttitle { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-webkit-keyframes topmoviemask { 0% { top: 0; bottom: -400px; }
  /*70% { 	top: -40%; 	bottom: 40%; }*/
  100% { top: -100%; bottom: 100%; } }
@-moz-keyframes topmoviemask { 0% { top: 0; bottom: -400px; }
  /*70% { 	top: -40%; 	bottom: 40%; }*/
  100% { top: -100%; bottom: 100%; } }
@keyframes topmoviemask { 0% { top: 0; bottom: -400px; }
  /*70% { 	top: -40%; 	bottom: 40%; }*/
  100% { top: -100%; bottom: 100%; } }
.top-com { margin: auto; padding: 3.2rem; max-width: calc(987px + 6.4rem); background-color: #fff; }
.top-com-title { margin: 0 0 38px; padding: 0; font-size: 1.4rem; line-height: 1.8571428571; font-weight: 700; text-align: center; }
@media (min-width: 48em) { .top-com-title { margin: 0 0 70px; font-size: 1rem; line-height: 1.6; } }
.top-com-title span { position: relative; display: block; }
.top-com-title .en { font-family: Lato; font-size: 2rem; line-height: 1.6; }
@media (min-width: 48em) { .top-com-title .en { font-size: 1.75rem; line-height: 1.3428571429; } }
.top-com a { text-decoration: underline; font-weight: 700; }
.top-com table { border-collapse: separate; margin: auto; width: 100%; letter-spacing: 0; font-size: 1.4rem; line-height: 1.8571428571; }
@media (min-width: 48em) { .top-com table { font-size: 0.9rem; line-height: 1.6666666667; } }
@media (min-width: 62em) { .top-com table { width: 680px; } }
.top-com table th, .top-com table td { padding: 20px 0; border-bottom: 1px solid #707070; text-align: left; }
@media (min-width: 48em) { .top-com table th, .top-com table td { padding: 24px 0; } }
.top-com table th { vertical-align: top; width: 30%; }
@media (min-width: 48em) { .top-com table th { width: 22%; } }
.top-com table td { width: 70%; }
@media (min-width: 48em) { .top-com table td { width: 78%; } }
.top-com table .sub-table { display: flex; margin: 0 0 4px; }
.top-com table .sub-table .m { width: 120px; }
@media (min-width: 48em) { .top-com table .sub-table .m { width: 190px; } }
.top-com table .sub-table .t { flex: 1; }

.top-container { position: relative; z-index: 1200; }
.top-container #profile { padding-bottom: 4.0rem; background-color: #fff; }

.top-main-mask { position: relative; margin-bottom: 100px; overflow: hidden; height: 900px; background-color: #fff; }
.top-main-mask.movie .start { -webkit-animation: topmoviemask 2.4s ease-in-out 1s both; -moz-animation: topmoviemask 2.4s ease-in-out 1s both; animation: topmoviemask 2.4s ease-in-out 1s both; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; }
.top-main-mask-container.start { z-index: 1100; position: absolute; top: 0; left: 0; right: 0; bottom: -400px; background-color: #1365A1; clip-path: polygon(0 0, 100% 0, 100% 75%, 0% 100%); }
.top-main-mask-container .title { position: fixed; top: 50%; left: 0; right: 0; padding: 50px; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); }
.top-main-mask-container .title-pc { display: none; margin: auto; max-width: 1020px; }
@media (min-width: 48em) { .top-main-mask-container .title-pc { display: block; } }
.top-main-mask-container .title-sp { display: block; margin: auto; max-width: 275px; }
@media (min-width: 48em) { .top-main-mask-container .title-sp { display: none; } }
.top-main-mask-container img { width: 100% !important; }

.top-main { position: relative; margin-bottom: 100px; background-color: #fff; }
.top-main .bg { content: ''; z-index: 1000; position: absolute; top: -30%; width: 100%; height: 200%; background-color: #1365A1; -webkit-transform: skewY(-11deg); -moz-transform: skewY(-11deg); transform: skewY(-11deg); }
.top-main.movie .bg { -webkit-animation: topmoviebg 3s ease-in-out 0.5s both; -moz-animation: topmoviebg 3s ease-in-out 0.5s both; animation: topmoviebg 3s ease-in-out 0.5s both; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; }
.top-main.movie .start { -webkit-animation: topmovietxt 0.8s ease-in-out 1.8s both; -moz-animation: topmovietxt 0.8s ease-in-out 1.8s both; animation: topmovietxt 0.8s ease-in-out 1.8s both; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; }
.top-main.movie .top-main-scroll { -webkit-animation: topmoviescroll 0.8s ease-in-out 2.6s both; -moz-animation: topmoviescroll 0.8s ease-in-out 2.6s both; animation: topmoviescroll 0.8s ease-in-out 2.6s both; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; }
.top-main-container { position: fixed; top: 50%; left: 0; right: 0; padding: 50px; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); }
.top-main-container.start { z-index: 1100; }
.top-main-container .title-pc { display: none; margin: auto; max-width: 1020px; }
@media (min-width: 48em) { .top-main-container .title-pc { display: block; } }
.top-main-container .title-sp { display: block; margin: auto; max-width: 275px; }
@media (min-width: 48em) { .top-main-container .title-sp { display: none; } }
.top-main-container img { width: 100% !important; }
.top-main-scroll { position: fixed; left: 50%; bottom: 2.5rem; margin: 0 0 0 -40px; text-align: center; }
.top-main-scroll .i-scroll { display: block; position: relative; width: 80px; padding: 13px; font-size: 14px; line-height: 1; font-family: Lato; color: #1365A1; text-align: center; }
.top-main-scroll .i-scroll::after { content: ''; position: absolute; bottom: 0; left: 50%; margin: 0 0 0 -3px; width: 0; height: 0; border-style: solid; border-width: 5px 4px 0 4px; border-color: #1365A1 transparent transparent transparent; -webkit-animation: topmoviearrow 1s ease-in-out infinite both; -moz-animation: topmoviearrow 1s ease-in-out infinite both; animation: topmoviearrow 1s ease-in-out infinite both; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; }

.top-about-title { position: relative; margin: 0; padding: 32px; font-size: 0; }
@media (min-width: 48em) { .top-about-title { padding: 40px; } }
.top-about-title.movie .bg { -webkit-animation: topaboutbg 1s ease-in-out 0.5s both; -moz-animation: topaboutbg 1s ease-in-out 0.5s both; animation: topaboutbg 1s ease-in-out 0.5s both; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; }
.top-about-title.movie .title { -webkit-animation: topabouttitle 1s ease-in-out 0.5s both; -moz-animation: topabouttitle 1s ease-in-out 0.5s both; animation: topabouttitle 1s ease-in-out 0.5s both; -webkit-animation-fill-mode: both; -moz-animation-fill-mode: both; animation-fill-mode: both; }
.top-about-title .bg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 0; z-index: 0; background-color: #1365A1; }
.top-about-title .title { position: relative; margin: 0; z-index: 10; opacity: 0; }
.top-about-title .title-pc { display: none; margin: auto; max-width: 1200px; }
@media (min-width: 48em) { .top-about-title .title-pc { display: block; } }
.top-about-title .title-sp { display: block; margin: auto; max-width: 275px; }
@media (min-width: 48em) { .top-about-title .title-sp { display: none; } }
.top-about-container { margin: 0 auto; padding: 3.2rem; max-width: calc(1200px + 6.4rem); background-color: #fff; color: #1365A1; font-size: 1.5rem; line-height: 1.8; font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif; }
@media (min-width: 48em) { .top-about-container { font-size: 0.95rem; line-height: 1.6315789474; } }
.top-about-philosophy { margin: auto; padding: 5.0rem 0; max-width: 987px; font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; font-weight: 700; }
.top-about-philosophy .philosophy-title { margin: 0 0 30px; padding: 0 0 14px; border-bottom: 2px solid #1365A1; text-align: center; font-size: 1.8rem; line-height: 1.6666666667; }
@media (min-width: 48em) { .top-about-philosophy .philosophy-title { font-size: 2rem; line-height: 1.3; } }
.top-about-philosophy .philosophy-container { font-size: 1.37rem; line-height: 1.9230769231; }
@media (min-width: 48em) { .top-about-philosophy .philosophy-container { font-size: 1.68rem; line-height: 1.8571428571; } }

body.Android .top-about-container { font-family: "Noto Sans JP", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif; }

.fixed-container { position: relative; margin: 0 auto; padding: 0 3.2rem 8rem 3.2rem; max-width: calc(1200px + 6.4rem); }
.fixed-container .w-small { margin-left: auto; margin-right: auto; max-width: 700px; }
@media (min-width: 62em) { .fixed-container a { text-decoration: none; }
  .fixed-container a:before { content: ''; position: absolute; bottom: 0; height: 1px; background-color: currentColor; width: 0; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
  .fixed-container a:before { left: 0; }
  .fixed-container a:hover:before { width: 100%; } }

.fixed-title { margin: 0; padding: 13rem 32px 6rem 32px; }
.fixed-title .title { margin: 0; padding: 0; text-align: center; font-size: 2rem; line-height: 1.6; font-weight: 700; color: #333; }
@media (min-width: 48em) { .fixed-title .title { font-size: 1rem; } }
.fixed-title .text { padding: 20px 0; text-align: center; font-size: 1.4rem; line-height: 1.8571428571; font-weight: 700; }
@media (min-width: 48em) { .fixed-title .text { font-size: 0.7rem; } }
.fixed-title .text p:nth-last-child(-n + 1) { margin: 0; }

.page-container-body .page-link a { color: #333333; }
.page-container-body .page-link table th, .page-container-body .page-link table td { display: block; padding: 1.2rem 0; }
@media (min-width: 48em) { .page-container-body .page-link table th, .page-container-body .page-link table td { display: table-cell; } }
.page-container-body .page-link table th { border: none; padding-bottom: 0; }
@media (min-width: 48em) { .page-container-body .page-link table th { padding: 1.2rem 3% 1.2rem 0; border-bottom: 1px solid #707070; } }
.page-container-body .page-link table td { padding-top: 0.60rem; }
@media (min-width: 48em) { .page-container-body .page-link table td { padding: 1.2rem 0 1.2rem 3%; } }
.page-container-body .page-sitemap { margin: 0; padding: 0; list-style: none; }
.page-container-body .page-sitemap li { margin: 10px 0; padding: 0; }
.page-container-body .page-sitemap li > ul { margin: 0 0 0 30px; padding: 0; list-style: none; }
.page-container-body .page-sitemap li > ul li { margin: 0; }
.page-container-body .page-sitemap a { color: #333333; }

.page-contact { max-width: 900px; margin: auto; }

input[type="radio"] { vertical-align: middle; }

input[type="checkbox"] { vertical-align: middle; *vertical-align: baseline; }

.wpcf7-form { margin-top: -5rem !important; padding-top: 5rem !important; }
@media (min-width: 48em) { .wpcf7-form { margin-top: -5rem !important; padding-top: 5rem !important; } }
.wpcf7-form.custom-wpcf7c-confirmed .confirmed-text { display: block; }

.confirmed-text { display: none; margin: 10px 0; padding: 8px; border: 1px solid #1365A1; text-align: center; font-size: 1.4rem; line-height: 1.8571428571; font-weight: 700; color: #1365A1; }
@media (min-width: 48em) { .confirmed-text { font-size: 0.8rem; } }
.confirmed-text p { margin: 0; }

.wpcf7 .form-div { display: block; margin: 0; padding: 15px 0; text-align: left; }
@media (min-width: 48em) { .wpcf7 .form-div { display: flex; align-items: flex-start; } }
.wpcf7 .form-div input[type="text"], .wpcf7 .form-div input[type="email"], .wpcf7 .form-div input[type="tel"], .wpcf7 .form-div textarea { border: none; outline: none; display: block; width: 100%; color: #444; padding: 2px 8px; background-color: #fff; border: 1px solid #1365A1; border-radius: 2px; }
.wpcf7 .form-div input[type="text"]:placeholder-shown, .wpcf7 .form-div input[type="email"]:placeholder-shown, .wpcf7 .form-div input[type="tel"]:placeholder-shown, .wpcf7 .form-div textarea:placeholder-shown { color: #999; }
.wpcf7 .form-div input[type="text"]::-webkit-input-placeholder, .wpcf7 .form-div input[type="email"]::-webkit-input-placeholder, .wpcf7 .form-div input[type="tel"]::-webkit-input-placeholder, .wpcf7 .form-div textarea::-webkit-input-placeholder { color: #999; }
.wpcf7 .form-div input[type="text"]:-moz-placeholder, .wpcf7 .form-div input[type="email"]:-moz-placeholder, .wpcf7 .form-div input[type="tel"]:-moz-placeholder, .wpcf7 .form-div textarea:-moz-placeholder { opacity: 1; color: #999; }
.wpcf7 .form-div input[type="text"]::-moz-placeholder, .wpcf7 .form-div input[type="email"]::-moz-placeholder, .wpcf7 .form-div input[type="tel"]::-moz-placeholder, .wpcf7 .form-div textarea::-moz-placeholder { opacity: 1; color: #999; }
.wpcf7 .form-div input[type="text"]:-ms-input-placeholder, .wpcf7 .form-div input[type="email"]:-ms-input-placeholder, .wpcf7 .form-div input[type="tel"]:-ms-input-placeholder, .wpcf7 .form-div textarea:-ms-input-placeholder { color: #999; }
.wpcf7 .form-div input[type="radio"], .wpcf7 .form-div input[type="checkbox"] { margin: 12px 4px; vertical-align: middle; }
.wpcf7 .form-div select, .wpcf7 .form-div input[type="number"] { margin: 0; padding: 2px 8px; background-color: #fff; border: 1px solid #1365A1; border-radius: 2px; color: #444; }
.wpcf7 .form-div .wpcf7-list-item { margin: 0 8px 0 0; }
.wpcf7 .control-title, .wpcf7 .control-wrap { font-size: 1.4rem; line-height: 1.8571428571; color: #1365A1; }
@media (min-width: 48em) { .wpcf7 .control-title, .wpcf7 .control-wrap { font-size: 0.7rem; } }
.wpcf7 .control-title { display: flex; align-items: center; margin-bottom: 10px; font-weight: 700; }
@media (min-width: 48em) { .wpcf7 .control-title { margin: 0; width: 32%; align-items: flex-start; justify-content: space-between; } }
@media (min-width: 62em) { .wpcf7 .control-title { width: 25%; } }
.wpcf7 .control-title > p { display: flex; align-items: center; }
@media (min-width: 48em) { .wpcf7 .control-title > p { width: 100%; align-items: flex-start; justify-content: space-between; } }
@media (min-width: 48em) { .wpcf7 .control-wrap { width: 68%; padding: 0 0 0 12px; } }
@media (min-width: 62em) { .wpcf7 .control-wrap { width: 75%; } }
.wpcf7 .required, .wpcf7 .optional { margin-left: 10px; width: 52px; height: 30px; background-color: #1365A1; border-radius: 2px; color: #fff; font-size: 1.2rem; line-height: 30px; text-align: center; }
@media (min-width: 48em) { .wpcf7 .required, .wpcf7 .optional { font-size: 0.6rem; } }
.wpcf7 .optional { padding: 0; background-color: black; font-size: 1.4rem; line-height: 1.8571428571; }
@media (min-width: 48em) { .wpcf7 .optional { font-size: 0.7rem; } }
.wpcf7 .optional label { display: inline-block; padding: 8px 16px; }
.wpcf7 .optional input[type="checkbox"] { margin-right: 6px; }
.wpcf7 .submit { text-align: center; padding: 3.5rem 0 30px; }
.wpcf7 .submit input[type="submit"], .wpcf7 .submit input[type="button"], .wpcf7 .submit input[type="submit"][disabled], .wpcf7 .submit input[type="button"][disabled] { margin: 0 auto 10px auto; width: 100%; position: relative; display: block; padding: 16px 20px !important; text-align: center; background-color: #1365A1; border: none; font-size: 1.8rem; line-height: 1.6666666667; font-weight: 700; color: #fff; }
@media (min-width: 48em) { .wpcf7 .submit input[type="submit"], .wpcf7 .submit input[type="button"], .wpcf7 .submit input[type="submit"][disabled], .wpcf7 .submit input[type="button"][disabled] { font-size: 0.9rem; }
  .wpcf7 .submit input[type="submit"].center, .wpcf7 .submit input[type="button"].center, .wpcf7 .submit input[type="submit"][disabled].center, .wpcf7 .submit input[type="button"][disabled].center { margin-left: auto; margin-right: auto; display: block; } }
.wpcf7 .submit input[type="button"] { color: #fff !important; background-color: #555; border: 1px solid #555 !important; }
.wpcf7 .submit input[type="submit"][disabled], .wpcf7 .submit input[type="button"][disabled] { color: #fff !important; background-color: #ccc; border: 1px solid #ccc !important; }
.wpcf7 .submit-button { margin: 0; }
@media (min-width: 48em) { .wpcf7 .submit-button { display: flex; flex-wrap: wrap; justify-content: center; }
  .wpcf7 .submit-button input[type="submit"], .wpcf7 .submit-button input[type="button"], .wpcf7 .submit-button input[type="submit"][disabled], .wpcf7 .submit-button input[type="button"][disabled] { margin: 0 10px 10px 10px; width: calc(50% - 20px); min-width: calc(50% - 20px); }
  .wpcf7 .submit-button input[type="submit"].wpcf7c-elm-step1, .wpcf7 .submit-button input[type="button"].wpcf7c-elm-step1, .wpcf7 .submit-button input[type="submit"][disabled].wpcf7c-elm-step1, .wpcf7 .submit-button input[type="button"][disabled].wpcf7c-elm-step1 { width: 100%; } }
@media (min-width: 48em) { .wpcf7 .submit-button > p { display: flex; flex-direction: column; justify-content: center; align-items: center; margin: 0; }
  .wpcf7 .submit-button > p input[type="submit"], .wpcf7 .submit-button > p input[type="button"], .wpcf7 .submit-button > p input[type="submit"][disabled], .wpcf7 .submit-button > p input[type="button"][disabled] { margin: 0 auto; width: 240px !important; }
  .wpcf7 .submit-button > p input[type="submit"].wpcf7c-elm-step1, .wpcf7 .submit-button > p input[type="button"].wpcf7c-elm-step1, .wpcf7 .submit-button > p input[type="submit"][disabled].wpcf7c-elm-step1, .wpcf7 .submit-button > p input[type="button"][disabled].wpcf7c-elm-step1 { width: 100%; } }
.wpcf7 .wpcf7-spinner { margin: 10px 0; }
.wpcf7 .wpcf7c-elm-step2 { position: relative; margin: 1.5rem 0 40px 0; padding: 1.0rem; background-color: #242863; color: #fff; font-weight: bold; text-align: center; }
.wpcf7 .wpcf7c-elm-step2:before { content: ''; position: absolute; bottom: -24px; margin-left: -24px; left: 50%; width: 0; height: 0; border-style: solid; border-width: 24px 24px 0 24px; border-color: #242863 transparent transparent transparent; }
.wpcf7 .wpcf7-validation-errors { padding: 0.75rem; border: 2px solid #cc374b; color: #cc374b; text-align: center; }

.form-kiyaku { overflow: auto; padding: 2.0rem; background-color: #fff; height: 20.0rem; font-size: 1.4rem; line-height: 1.8571428571; }
@media (min-width: 48em) { .form-kiyaku { font-size: 0.7rem; } }
.form-kiyaku br { display: block; }

.wpcf7-list-item { display: block; }

/*
.news{
	&-iconlist{
		margin: 0 0 1.0rem;
		text-align: right;
		.icon-file{
			display: inline-block;
			margin-left: 15px;
			vertical-align: top;
			font-weight: 600;
			@include font_size(12); @include line_height(12); @include media(tablet){ @include font_size(12/2); }
			&:after{ font-family: $font-icon; margin-left: 5px; font-size: 14px; line-height: 1; font-weight: normal;
			}
			&.pdf{
				&:after{
					content: '\f1c1';
				}
			}
			&.photo{
				&:after{
					content: '\f1c5';
				}
			}
			&.movie{
				&:after{
					content: '\f1c8';
				}
			}
		}
	}
	&-list{
		margin: 0 0 2.0rem;;
		padding: 0;
		list-style: none;
		border-top: 1px solid $border-color;
		li{
			border-bottom: 1px solid $border-color; a, > span{ display: flex; align-items: center; padding: 1.5rem 0; &:before, &:after{ display: none; } }
		}
		a{
			.date,
			.title{
				color: $sub-color;
				text-decoration: underline;
			}
			@include media(pc-small){
				&:hover{
					opacity: 0.60;
				}
			}
		}
		.date{
			padding-right: 10px;
			width: 30%; font-family: $font-Roboto;
			@include media(tablet){
				width: 20%;
			}
			@include media(pc-small){
				width: 12%;
			}
		}
		.title{
			width: 70%;
			@include media(tablet){
				width: 80%;
			}
			@include media(pc-small){
				width: 88%;
			}
		}
	}
}*/
.news-page-container { max-width: 1090px; margin: 0 auto 3.2rem auto; }
.news-page-backbutton { margin: 0; padding-bottom: 8px; border-bottom: 1px solid #707070; font-size: 1.4rem; line-height: 1.8571428571; }
@media (min-width: 48em) { .news-page-backbutton { font-size: 0.8rem; line-height: 1.75; } }
.news-page-title { margin-bottom: 2.4rem; font-size: 2.2rem; line-height: 1.5454545455; font-weight: bold; color: #333; }
@media (min-width: 48em) { .news-page-title { font-size: 1.2rem; } }
.news-page-date { font-size: 1.4rem; line-height: 1.8571428571; font-family: Roboto; font-weight: 500; color: #333; }
@media (min-width: 48em) { .news-page-date { font-size: 0.75rem; } }

/* --- basic setting ----------------------------------------------------------------------------------------- */
.wp-caption-text { text-align: center; }

.alignright { float: right; }

.alignleft { float: left; }

.aligncenter { margin-left: auto; margin-right: auto; }

.centered { margin-left: auto; margin-right: auto; }

.clear { clear: both; }

hr { border: 0; border-bottom: 1px solid #707070; }

/* --- WordPress preset CSS ----------------------------------------------------------------------------------------- */
.page-container-body h2 { clear: both; padding-top: 1.5rem; margin-bottom: 0.75rem; color: #333; font-size: 2rem; line-height: 1.6; font-weight: bold; }
@media (min-width: 48em) { .page-container-body h2 { font-size: 1rem; line-height: 1.6; } }
.page-container-body h3 { clear: both; padding-top: 1.5rem; margin-bottom: 1.5rem; font-size: 2.2rem; line-height: 1.5454545455; font-weight: bold; color: #333; }
@media (min-width: 48em) { .page-container-body h3 { font-size: 1.2rem; line-height: 1.5; } }
.page-container-body h3.border { text-align: left; border-bottom: 1px solid #707070; }
.page-container-body h4 { clear: both; padding-top: 1.5rem; margin: 0 0 1.2rem; font-size: 2rem; line-height: 1.6; font-weight: bold; color: #333; }
@media (min-width: 48em) { .page-container-body h4 { font-size: 1rem; } }
.page-container-body h4.border { text-align: left; border-bottom: 1px solid #707070; }
.page-container-body h5 { clear: both; padding-top: 1.5rem; margin: 0 0 1.2rem; text-align: left; border-bottom: 1px solid #707070; font-size: 2rem; line-height: 1.6; font-weight: bold; color: #333; }
@media (min-width: 48em) { .page-container-body h5 { font-size: 1rem; } }
.page-container-body h6 { padding-top: 1.5rem; margin-bottom: 1.2rem; font-size: 1.6rem; line-height: 1.75; font-weight: bold; color: #333; }
@media (min-width: 48em) { .page-container-body h6 { font-size: 0.8rem; line-height: 1.75; } }

.page-container-body { font-size: 1.6rem; line-height: 1.75; /* image */ /* icon */ /* table */ /* list */ /* block quote */ /* gallery */ }
@media (min-width: 48em) { .page-container-body { font-size: 1rem; line-height: 2; } }
.page-container-body a { color: #1365A1; }
.page-container-body section, .page-container-body div { margin-bottom: 2.0rem; }
.page-container-body p { margin-bottom: 1.2rem; }
.page-container-body img { height: auto; max-width: 100%; width: auto; margin: 4px auto 8px auto; }
.page-container-body img.centered, .page-container-body div.centered { display: block; margin: 24px auto; }
.page-container-body img.aligncenter, .page-container-body div.aligncenter { display: block; margin: 24px auto; }
.page-container-body img.alignright, .page-container-body div.alignright { float: none; margin: 4px auto 16px auto; display: block; }
.page-container-body img.alignleft, .page-container-body div.alignleft { float: none; margin: 4px auto 16px auto; display: block; }
.page-container-body .wp-caption { max-width: 100%; padding: 0; margin: 24px auto; }
.page-container-body .wp-caption.alignright { float: none; margin: 4px auto 16px auto; }
.page-container-body .wp-caption.alignleft { float: none; margin: 4px auto 16px auto; }
.page-container-body .wp-caption.aligncenter { margin: 24px auto; }
.page-container-body .wp-caption img { display: block; margin: 0 auto 6px auto; max-width: 100%; }
.page-container-body .wp-caption .wp-caption-text { padding: 0; font-size: 14px; }
@media (min-width: 48em) { .page-container-body img.alignright, .page-container-body div.alignright { float: right; margin: 4px 0 30px 30px; display: inline; }
  .page-container-body img.alignleft, .page-container-body div.alignleft { float: left; margin: 4px 30px 30px 0; display: inline; }
  .page-container-body .wp-caption.alignright { float: right; margin: 4px 0 30px 30px; }
  .page-container-body .wp-caption.alignleft { float: left; margin: 4px 30px 30px 0; } }
.page-container-body i.fas, .page-container-body i.far, .page-container-body i.fal, .page-container-body i.fab { margin: 0 6px; }
.page-container-body table { border-collapse: separate; margin: 0 0 1.2rem 0; width: 100%; border-top: 1px solid #707070; }
.page-container-body th, .page-container-body td { border-bottom: 1px solid #707070; padding: 1.2rem 0; text-align: left; font-weight: normal; }
.page-container-body th { padding-right: 3%; }
.page-container-body td { padding-left: 3%; }
.page-container-body dt, .page-container-body dd { margin: 0; }
.page-container-body ul, .page-container-body ol { margin: 0 0 0.8rem; padding: 0 0 0 16px; }
.page-container-body ul li, .page-container-body ol li { margin: 0 0 0.6rem 0.8rem; padding: 0 0 0 0.4rem; }
.page-container-body blockquote { margin: 0 0 2em 0; padding: 30px 30px 2px; background: #f2f2f2; color: #555; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; position: relative; }
.page-container-body blockquote:before { content: '"'; font-style: italic; font-size: 30px; font-weight: bold; line-height: 40px; width: 30px; height: 30px; position: absolute; top: 10px; left: 10px; color: #999; }
.page-container-body blockquote:after { content: '"'; font-style: italic; font-size: 30px; font-weight: bold; text-align: left; line-height: 60px; width: 30px; height: 30px; position: absolute; bottom: 10px; right: 5px; color: #999; }
.page-container-body .gallery { margin: 0 -0.75rem !important; padding: 0 0 1.8rem; list-style: none; }
@media (min-width: 48em) { .page-container-body .gallery { margin: 0 -0.375rem !important; } }
.page-container-body .gallery-item { float: left; width: 50%; margin: 0 !important; padding: 0 0.75rem 1.5rem 0.75rem !important; text-align: center; }
.page-container-body .gallery-item:before { display: none; }
@media (min-width: 30em) { .page-container-body .gallery-item { width: 33.333333%; } }
@media (min-width: 48em) { .page-container-body .gallery-item { width: 20%; padding: 0 0.375rem 0.75rem 0.375rem !important; } }
.page-container-body .gallery-item img { margin: 0 auto; }
.page-container-body .gallery-item a { border: 2px #999999 solid; display: block; background-color: #fff; padding: 0; }
.page-container-body .gallery-caption { padding: 4px; font-size: 1.4rem; line-height: 1.75; }
@media (min-width: 48em) { .page-container-body .gallery-caption { font-size: 0.7rem; } }
@media (min-width: 30em) { .page-container-body .gallery-columns-2 .gallery-item { width: 50%; } }
@media (min-width: 48em) { .page-container-body .gallery-columns-3 .gallery-item { width: 33.333333%; } }
@media (min-width: 48em) { .page-container-body .gallery-columns-4 .gallery-item { width: 25%; } }
@media (min-width: 48em) { .page-container-body .gallery-columns-5 .gallery-item { width: 20%; } }

/* コメント */
#comments.comments-area { clear: both; padding: 2.0rem 0; }
#comments .comment-respond { padding: 2.0rem; border: 1px solid #707070; font-size: 1.4rem; line-height: 1.8571428571; }
@media (min-width: 48em) { #comments .comment-respond { font-size: 0.7rem; } }
#comments .comment-reply-title { margin-top: 0 !important; }
#comments .comment-form-comment textarea { outline: none; display: block; width: 100%; padding: 12px; margin-bottom: 0.4rem; color: #444; border: 1px solid #eee; background-color: #f5f6f8; border-radius: 4px; -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1); box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1); }
#comments .comment-form-author input, #comments .comment-form-email input { outline: none; display: block; width: 100%; padding: 12px; margin-bottom: 0.4rem; color: #444; border: 1px solid #eee; background-color: #f5f6f8; border-radius: 4px; -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1); -moz-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1); box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1); }
@media (min-width: 48em) { #comments .comment-form-author, #comments .comment-form-email { float: left; width: 48%; } }
@media (min-width: 48em) { #comments .comment-form-email { float: right; } }
#comments .form-submit { clear: both; padding-top: 8px; text-align: center; }
#comments .form-submit input[type="submit"] { width: 100%; margin: 0; height: 56px; line-height: 56px; border: 1px black solid; background-color: black; border-radius: 4px; color: #fff; }
#comments .form-submit input[type="submit"]:hover { -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity = 60); filter: alpha(opacity = 60); opacity: 0.6; }
@media (min-width: 30em) { #comments .form-submit input[type="submit"] { width: 300px; display: inline-block; margin: 0; } }

/* next-page */
.pagesprit { text-align: center; font-size: 0; padding: 16px 0 32px 0; }

.pagesprit .page-numbers { line-height: 1; }

.pagesprit a, .pagesprit span { display: inline-block; margin: 0 2px; font-size: 14px; line-height: 14px; }

.pagesprit .numbers { border: 1px #1365A1 solid; width: 40px; height: 40px; line-height: 40px; background-color: #1365A1; color: #fff; }

.pagesprit a .numbers { -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; -ms-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }

.pagesprit a:hover .numbers { background-color: #1365A1; color: #fff; }

.pagesprit a .numbers { background-color: #fff; color: #1365A1; }

/* PageNaviプラグイン */
.wp-pagenavi { padding: 0; text-align: center; font-family: Roboto; }

.wp-pagenavi a, .wp-pagenavi span { border: none; padding: 0; }

.wp-pagenavi .pages { display: block; margin: 8px; font-size: 14px; }

.wp-pagenavi .current, .wp-pagenavi .page, .wp-pagenavi .extend, .wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink, .wp-pagenavi .last { display: inline-block; vertical-align: top; background-color: #fff; width: 30px; height: 40px; line-height: 40px; font-size: 16px; border-radius: 40px; border: none; text-align: center; }

.wp-pagenavi .extend { border: none; margin: 8px 0; }

.wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink, .wp-pagenavi .last { border: none; background: none; width: 80px; }

.wp-pagenavi .current { position: relative; color: #242863; }

.wp-pagenavi .page:hover { opacity: 1; }

@media (min-width: 62em) { .wp-pagenavi { text-align: right; } }
@media screen and (max-width: 600px) { #wpadminbar { position: fixed !important; } }
#toppage.customize-support #header.top.sticky #headerNav { top: 32px !important; }
#toppage.customize-support .menubutton.top { top: 56px !important; }
#toppage.customize-support .header-menu-container { top: 32px !important; }
@media screen and (max-width: 782px) { #toppage.customize-support #header.top.sticky #headerNav { top: 46px !important; }
  #toppage.customize-support .menubutton.top { top: 70px !important; }
  #toppage.customize-support .header-menu-container { top: 46px !important; } }

#page-body.customize-support .header-container { top: 32px !important; }
#page-body.customize-support .header-menu-container { top: 32px !important; }
@media screen and (max-width: 782px) { #page-body.customize-support .header-container { top: 46px !important; }
  #page-body.customize-support .header-menu-container { top: 46px !important; } }

/*# sourceMappingURL=style.css.map */
