@charset "UTF-8";
/*
Theme Name: Discover Ride
Author: 
Author URI: 
Version: 1.0.0
*/
@import url(https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,300;1,400;1,500;1,700;1,900&display=swap);
.clearfix, .overflow-auto > div, .header-sp-menu-container, .footer-banner { *zoom: 1; }
.clearfix:after, .overflow-auto > div:after, .header-sp-menu-container:after, .footer-banner:after { content: ""; display: table; clear: both; }

/* --- サイト内共通 ----------------------------------------------------------------------------------------- */
html { font-size: 62.5%; font-family: "Lato", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif; }
@media (min-width: 48em) { html { font-size: 125%; } }

body { background-color: #fff; font-size: 16px; font-size: 1.6rem; line-height: 1.75; letter-spacing: 0.05em; color: #555; }
@media (min-width: 48em) { body { font-size: 0.8rem; } }
body.fixed { height: 100%; overflow: hidden; }

a { position: relative; text-decoration: none; color: #111; 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; }
  a:hover { opacity: 0.60; } }

video.normal-movie { display: block; margin: 0; min-width: 100%; min-height: auto; width: 100%; height: auto; }

@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-top-4px-8px { margin-top: 0.4rem !important; }

.mg-top-8px-16px { margin-top: 0.8rem !important; }

.mg-top-12px-24px { margin-top: 1.2rem !important; }

.mg-top-16px-32px { margin-top: 1.6rem !important; }

.mg-top-20px-40px { margin-top: 2rem !important; }

.mg-top-24px-48px { margin-top: 2.4rem !important; }

.mg-top-28px-56px { margin-top: 2.8rem !important; }

.mg-top-32px-64px { margin-top: 3.2rem !important; }

.mg-top-36px-72px { margin-top: 3.6rem !important; }

.mg-top-40px-80px { margin-top: 4rem !important; }

.mg-top-44px-88px { margin-top: 4.4rem !important; }

.mg-top-48px-96px { margin-top: 4.8rem !important; }

.mg-top-52px-104px { margin-top: 5.2rem !important; }

.mg-top-56px-112px { margin-top: 5.6rem !important; }

.mg-top-60px-120px { margin-top: 6rem !important; }

.mg-top-64px-128px { margin-top: 6.4rem !important; }

.mg-top-68px-136px { margin-top: 6.8rem !important; }

.mg-top-72px-144px { margin-top: 7.2rem !important; }

.mg-top-76px-152px { margin-top: 7.6rem !important; }

.mg-top-80px-160px { margin-top: 8rem !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; }

.dp-sp { display: block; }
@media (min-width: 62em) { .dp-sp { display: none; } }

.dp-pc { display: none; }
@media (min-width: 62em) { .dp-pc { display: block; } }

.overflow-auto { height: 360px; overflow: auto; border: 1px solid #dadada; }
.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: 640px !important; display: table; 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 #dadada; 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; }
.fo-w-300 { font-weight: 300; }
.fo-w-400 { font-weight: 400; }
.fo-w-700 { font-weight: 700; }
.fo-w-900 { font-weight: 900; }

.fo-fa-jp-go { font-family: "Lato", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic Gothic Medium, "メイリオ", "Meiryo", sans-serif; }
.fo-fa-jp-min { font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "HGS明朝E", "ＭＳ Ｐ明朝", serif; }

.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.33333 !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.33333 !important; }

@media (min-width: 48em) { .fo-6px-pc { font-size: 6px; font-size: 0.3rem !important; line-height: 2.33333 !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.66667 !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.66667 !important; }

@media (min-width: 48em) { .fo-12px-pc { font-size: 12px; font-size: 0.6rem !important; line-height: 1.66667 !important; } }

.fo-14px { font-size: 14px; font-size: 1.4rem !important; line-height: 1.57143 !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.57143 !important; }

@media (min-width: 48em) { .fo-14px-pc { font-size: 14px; font-size: 0.7rem !important; line-height: 1.57143 !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.44444 !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.44444 !important; }

@media (min-width: 48em) { .fo-18px-pc { font-size: 18px; font-size: 0.9rem !important; line-height: 1.44444 !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.36364 !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.36364 !important; }

@media (min-width: 48em) { .fo-22px-pc { font-size: 22px; font-size: 1.1rem !important; line-height: 1.36364 !important; } }

.fo-24px { font-size: 24px; font-size: 2.4rem !important; line-height: 1.33333 !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.33333 !important; }

@media (min-width: 48em) { .fo-24px-pc { font-size: 24px; font-size: 1.2rem !important; line-height: 1.33333 !important; } }

.fo-26px { font-size: 26px; font-size: 2.6rem !important; line-height: 1.30769 !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.30769 !important; }

@media (min-width: 48em) { .fo-26px-pc { font-size: 26px; font-size: 1.3rem !important; line-height: 1.30769 !important; } }

.fo-28px { font-size: 28px; font-size: 2.8rem !important; line-height: 1.28571 !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.28571 !important; }

@media (min-width: 48em) { .fo-28px-pc { font-size: 28px; font-size: 1.4rem !important; line-height: 1.28571 !important; } }

.fo-30px { font-size: 30px; font-size: 3rem !important; line-height: 1.26667 !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.26667 !important; }

@media (min-width: 48em) { .fo-30px-pc { font-size: 30px; font-size: 1.5rem !important; line-height: 1.26667 !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.23529 !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.23529 !important; }

@media (min-width: 48em) { .fo-34px-pc { font-size: 34px; font-size: 1.7rem !important; line-height: 1.23529 !important; } }

.fo-36px { font-size: 36px; font-size: 3.6rem !important; line-height: 1.22222 !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.22222 !important; }

@media (min-width: 48em) { .fo-36px-pc { font-size: 36px; font-size: 1.8rem !important; line-height: 1.22222 !important; } }

.fo-38px { font-size: 38px; font-size: 3.8rem !important; line-height: 1.21053 !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.21053 !important; }

@media (min-width: 48em) { .fo-38px-pc { font-size: 38px; font-size: 1.9rem !important; line-height: 1.21053 !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.19048 !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.19048 !important; }

@media (min-width: 48em) { .fo-42px-pc { font-size: 42px; font-size: 2.1rem !important; line-height: 1.19048 !important; } }

.fo-44px { font-size: 44px; font-size: 4.4rem !important; line-height: 1.18182 !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.18182 !important; }

@media (min-width: 48em) { .fo-44px-pc { font-size: 44px; font-size: 2.2rem !important; line-height: 1.18182 !important; } }

.fo-46px { font-size: 46px; font-size: 4.6rem !important; line-height: 1.17391 !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.17391 !important; }

@media (min-width: 48em) { .fo-46px-pc { font-size: 46px; font-size: 2.3rem !important; line-height: 1.17391 !important; } }

.fo-48px { font-size: 48px; font-size: 4.8rem !important; line-height: 1.16667 !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.16667 !important; }

@media (min-width: 48em) { .fo-48px-pc { font-size: 48px; font-size: 2.4rem !important; line-height: 1.16667 !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.15385 !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.15385 !important; }

@media (min-width: 48em) { .fo-52px-pc { font-size: 52px; font-size: 2.6rem !important; line-height: 1.15385 !important; } }

.fo-54px { font-size: 54px; font-size: 5.4rem !important; line-height: 1.14815 !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.14815 !important; }

@media (min-width: 48em) { .fo-54px-pc { font-size: 54px; font-size: 2.7rem !important; line-height: 1.14815 !important; } }

.fo-56px { font-size: 56px; font-size: 5.6rem !important; line-height: 1.14286 !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.14286 !important; }

@media (min-width: 48em) { .fo-56px-pc { font-size: 56px; font-size: 2.8rem !important; line-height: 1.14286 !important; } }

.fo-58px { font-size: 58px; font-size: 5.8rem !important; line-height: 1.13793 !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.13793 !important; }

@media (min-width: 48em) { .fo-58px-pc { font-size: 58px; font-size: 2.9rem !important; line-height: 1.13793 !important; } }

.fo-60px { font-size: 60px; font-size: 6rem !important; line-height: 1.13333 !important; }
@media (min-width: 48em) { .fo-60px { font-size: 3rem !important; } }

.fo-60px-sp { font-size: 60px; font-size: 6rem !important; line-height: 1.13333 !important; }

@media (min-width: 48em) { .fo-60px-pc { font-size: 60px; font-size: 3rem !important; line-height: 1.13333 !important; } }

.fo-co-base { color: #111 !important; }
.fo-co-white { color: #fff !important; }
.fo-co-black { color: black !important; }
.fo-co-gray { color: #999999 !important; }
.fo-co-red { color: #ff0000 !important; }
.fo-co-pink { color: #FF59BD !important; }
.fo-co-blue { color: #093682 !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: #111; 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: #111; 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: #111; 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: #111; 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: #111; 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: #111; 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: #111; 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: #111; 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: #111; 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: #111; 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: #111; border-radius: 24px; }

.button-common { margin: 0 auto 8px auto; width: 100%; position: relative; display: inline-block; padding: 20px !important; color: #fff !important; text-align: center; background-color: #111; -webkit-border-radius: 100px; -moz-border-radius: 100px; border-radius: 100px; }
.button-common:before { content: '\f105'; font-family: "Font Awesome 5 Pro"; font-weight: 300; color: #fff; position: absolute; top: 50%; right: 20px; font-size: 16px; line-height: 1; margin-top: -8px; }
@media (min-width: 48em) { .button-common { margin: 0 0 8px; width: 320px; display: inline-block; vertical-align: top; }
  .button-common.center { margin-left: auto; margin-right: auto; display: block; } }
.button-common.big { padding: 24px !important; }
@media (min-width: 48em) { .button-common.w320 { width: 320px; } }
@media (min-width: 48em) { .button-common.w400 { width: 400px; } }
@media (min-width: 48em) { .button-common.w480 { width: 480px; } }
@media (min-width: 48em) { .button-common.w640 { width: 640px; } }
.button-common.base { background-color: #111; }
.button-common.red { background-color: #ff0000; }
.button-common.pink { background-color: #FF59BD; }
.button-common.blue { background-color: #093682; }
.button-common.orange { background-color: #faa701; }
.button-common.green { background-color: #1e9e49; }
.button-common[target="_blank"]:before { content: '\f2d2'; }

.arrow-s { position: relative; padding-left: 14px; }
.arrow-s:before { content: '\f105'; font-family: "Font Awesome 5 Pro"; position: absolute; top: 4px; left: 2px; font-size: 14px; line-height: 1; }
.arrow-s-dw { padding-left: 16px; }
.arrow-s-dw:before { content: '\f107'; font-family: "Font Awesome 5 Pro"; position: absolute; top: 6px; left: 2px; font-size: 14px; line-height: 1; }
.arrow-b { position: relative; padding-left: 14px; }
.arrow-b:before { content: '\f054'; font-family: "Font Awesome 5 Pro"; position: absolute; top: 6px; left: 0; font-size: 12px; line-height: 1; }
.arrow-b-dw { padding-left: 16px; }
.arrow-b-dw:before { content: '\f078'; font-family: "Font Awesome 5 Pro"; position: absolute; top: 4px; left: 0; font-size: 12px; line-height: 1; }

.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: 48em) { img.img-sp { display: none; } }
img.img-pc { display: none; }
@media (min-width: 48em) { img.img-pc { display: block; } }

.border-top { border-top: 1px #dadada solid; }
.border-top-dotted { border-top: 1px #dadada dotted; }
.border-bottom { border-bottom: 1px #dadada solid; }
.border-bottom-dotted { border-bottom: 1px #dadada dotted; }
.border-1px { border: 1px solid #dadada; }
.border-2px { border: 2px solid #dadada; }
.border-3px { border: 3px solid #e8e8e8; }
.border-4px { border: 4px solid #e8e8e8; }
.border-5px { border: 5px solid #e8e8e8; }
.border-dotted { border-style: dotted; }
.border-co-base { border-color: #111 !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: #ff0000 !important; }
.border-co-pink { border-color: #FF59BD !important; }
.border-co-blue { border-color: #093682 !important; }
.border-co-green { border-color: #1e9e49 !important; }
.border-co-orange { border-color: #faa701 !important; }
.border-co-yellow { border-color: #ffff00 !important; }

.radius-4 { -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.radius-8 { -webkit-border-radius: 8px; -moz-border-radius: 8px; border-radius: 8px; }
.radius-16 { -webkit-border-radius: 16px; -moz-border-radius: 16px; border-radius: 16px; }
.radius-24 { -webkit-border-radius: 24px; -moz-border-radius: 24px; border-radius: 24px; }
.radius-32 { -webkit-border-radius: 32px; -moz-border-radius: 32px; border-radius: 32px; }
.radius-40 { -webkit-border-radius: 40px; -moz-border-radius: 40px; border-radius: 40px; }
.radius-100 { -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; }

.bg-co-base { background-color: #111; color: #fff; }
.bg-co-gray { background-color: #f5f5f5; }
.bg-co-gray-light { background-color: #e8e8e8; }
.bg-co-gray-middle { background-color: gainsboro; }
.bg-co-gray-dark { background-color: #cfcfcf; }
.bg-co-black { background-color: black; color: #fff; }
.bg-co-red { background-color: #ff0000; color: #fff; }
.bg-co-pink { background-color: #FF59BD; color: #fff; }
.bg-co-white { background-color: #fff; }
.bg-co-sub { background-color: #F4FF59; }
.bg-co-green { background-color: #03FFDD; }

#PagetopBtn { position: fixed; right: -44px; bottom: 12px; z-index: 900; -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity = 0); filter: alpha(opacity = 0); opacity: 0; -webkit-transition: 0.3s ease-in; -moz-transition: 0.3s ease-in; transition: 0.3s ease-in; }
#PagetopBtn.visible { right: 16px; -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity = 100); filter: alpha(opacity = 100); opacity: 1; }
#PagetopBtn a { outline: none; width: 48px; height: 48px; display: block; color: #fff; text-align: center; font-size: 16px; line-height: 45px; background-color: rgba(255, 89, 189, 0.9); -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; }
@media (min-width: 62em) { #PagetopBtn a:hover { -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity = 60); filter: alpha(opacity = 60); opacity: 0.6; } }

.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 { margin: 0 !important; padding: 0 20px !important; list-style: none !important; }
@media (min-width: 62em) { .slider { padding: 0 60px !important; } }
.slider li { margin: 0 !important; padding: 0 !important; }
.slider li:before { display: none !important; }
.slider 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: -8px; display: block; padding: 0; cursor: pointer; border: none; outline: none; background: transparent; z-index: 300; }
.slick-prev:before, .slick-next:before { content: "\f054"; font-family: "Font Awesome 5 Pro"; position: absolute; top: 50%; right: 0; outline: 0; font-size: 30px; font-weight: 300; color: #fff; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
@media (min-width: 62em) { .slick-prev:before, .slick-next:before { font-size: 56px; } }

.slick-prev:before { content: "\f053"; left: 0; right: auto; }

.slick-prev { left: 0; }

.slick-next { right: 0; }

.slick-prev:hover:before, .slick-next:hover:before { opacity: 0.8; }

.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: 0.8; }

/* Dots */
.slick-dots { position: absolute; left: 0; bottom: -30px; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; z-index: 300; }
@media (min-width: 48em) { .slick-dots { bottom: -40px; } }
.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(204, 204, 204, 0.8); text-align: center; color: black; -webkit-border-radius: 100%; -moz-border-radius: 100%; border-radius: 100%; }
.slick-dots li.slick-active button:before { background-color: rgba(21, 53, 72, 0.9); }

.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; }
@media (min-width: 62em) { .youtube-movie { width: 640px; height: 376px; margin: 0 auto; overflow: auto; position: relative; padding-bottom: 0; margin-bottom: 16px; } }
.youtube-movie iframe { position: absolute; top: 0; left: 0; min-width: 100%; min-height: 100%; width: 100%; height: 100%; }
@media (min-width: 62em) { .youtube-movie iframe { position: relative; top: 0; left: 0; width: 640px; height: 376px; min-width: 640px; min-height: 376px; } }
.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; } }

#svgicon { display: block; width: 0; height: 0; overflow: hidden; }

.tel-link a { color: currentColor; }

.br-sp { display: block; }
@media (min-width: 48em) { .br-sp { display: none; } }

.br-pc { display: none; }
@media (min-width: 48em) { .br-pc { display: block; } }

.anchor-link { margin-top: -80px !important; padding-top: 80px !important; }
@media (min-width: 48em) { .anchor-link { margin-top: -80px !important; padding-top: 80px !important; } }

.header-top { position: relative; margin: auto; max-width: 1480px; height: 80px; }
@media (min-width: 62em) { .header-top { height: auto; } }
@media (min-width: 62em) { .header-top .header-title { position: absolute; top: 3.0rem; left: 3.0rem; } }
@media (min-width: 62em) { .header-page { padding: 30px 30px 0 30px; } }
.header-page-container { position: relative; z-index: 10; margin: auto; max-width: 1480px; height: 80px; }
@media (min-width: 62em) { .header-page-container { height: 100px; background-color: #F4FF59; border-radius: 1.0rem; } }
@media (min-width: 62em) { .header-page-container .header-title { position: absolute; top: 50%; left: 30px; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); } }
.header-page-container .menu-button { display: block; top: 10px; right: 10px; }
.header-page-container .menu-button.open { display: none; }
.header-page-title { position: relative; padding: 3.0rem; background-position: center center; background-repeat: no-repeat; background-size: cover; }
@media (min-width: 62em) { .header-page-title { margin: -50px -30px 0 -30px; height: 16rem; } }
.header-page-title:before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.3); }
.header-page-title .title { position: relative; color: #fff; text-align: center; }
@media (min-width: 62em) { .header-page-title .title { position: absolute; top: 38%; left: 30px; right: 30px; } }
.header-page-title .title-main { margin: 0 0 1.2rem; font-size: 2.4rem; line-height: 1.5; font-weight: 900; }
@media (min-width: 48em) { .header-page-title .title-main { font-size: 2rem; line-height: 1.3; } }
@media (min-width: 80em) { .header-page-title .title-main { font-size: 3.2rem; line-height: 1.1875; } }
.header-page-title .title-sub { margin: 0; font-size: 1.6rem; line-height: 1.75; font-weight: 700; }
@media (min-width: 48em) { .header-page-title .title-sub { font-size: 1rem; line-height: 1.6; } }
.header-page-title .title .en { font-family: "Roboto"; }
.header-title { position: relative; z-index: 1500; margin: 0; padding: 20px; width: 240px; height: auto; font-size: 0; }
@media (min-width: 62em) { .header-title { width: 366px; height: auto; padding: 0; } }

.header-nav { display: none; }
.header-nav.open { background-color: rgba(0, 0, 0, 0.9); }
@media (min-width: 62em) { .header-nav.open { background: none; } }
.header-nav .g-nav { position: relative; display: block; margin-top: 80px; }
@media (min-width: 62em) { .header-nav .g-nav { display: flex; align-items: center; justify-content: center; margin-top: 0; height: 100%; } }
.header-nav .g-nav-link { padding: 20px; }
@media (min-width: 62em) { .header-nav .g-nav-link { flex-basis: 60%; } }
.header-nav .link-list { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.header-nav .link-list li { flex-basis: 48%; max-width: 48%; margin: 0 1.0% 2.0% 1.0%; text-align: center; }
@media (min-width: 48em) { .header-nav .link-list li { flex-basis: 31.333333333333%; max-width: 31.333333333333%; } }
.header-nav .link-list span, .header-nav .link-list a { display: block; padding: 10px; border: 1px solid rgba(17, 17, 17, 0.5); border-radius: 4px; color: rgba(17, 17, 17, 0.5); }
.header-nav .link-list a { border-color: #111; background-color: #111; color: #fff; }
.header-nav .entry-list { margin: 20px 0; padding: 30px 0 0; list-style: none; border-top: 1px solid rgba(17, 17, 17, 0.3); }
@media (min-width: 48em) { .header-nav .entry-list { display: flex; } }
.header-nav .entry-list li { margin-bottom: 2.0%; text-align: center; }
@media (min-width: 48em) { .header-nav .entry-list li { flex-basis: 31.333333333333%; max-width: 31.333333333333%; margin: 0 1.0% 2.0% 1.0%; } }
.header-nav .entry-list a { display: block; padding: 15px 10px; border: 1px solid #111; border-radius: 80px; background-color: #111; color: #fff; }
.header-nav .link-banner { padding: 1.5rem 0 0 0; text-align: center; }
.header-nav .link-banner a { display: block; margin: auto; border-radius: 8px; overflow: hidden; width: 80%; }
@media (min-width: 48em) { .header-nav .link-banner a { width: 50%; } }

.sticky-menu { z-index: 1500; position: fixed; top: -80px; left: 0; right: 0; height: 80px; background-color: rgba(244, 255, 89, 0.9); -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
.sticky-menu.sticky { top: 0; }
.sticky-menu .logo { position: absolute; top: 20px; left: 20px; margin: 0; width: 200px; height: auto; font-size: 0; }
@media (min-width: 62em) { .sticky-menu .logo { position: absolute; top: 5px; left: 5px; width: 366px; height: auto; } }
.sticky-menu .menu-button { position: absolute; }

.header-sp-menu.open .header-sp-menu-container { z-index: 1000; opacity: 100; }
.header-sp-menu.open .header-nav { display: block; }
.header-sp-menu.open .sticky-menu { background: none; }
.header-sp-menu.open .menu-button.page { display: block; }
.header-sp-menu-container { position: fixed; top: 0; left: 0; right: 0; margin: auto; width: 100%; height: 100%; overflow-y: auto; background-color: rgba(244, 255, 89, 0.9); z-index: -10; opacity: 0; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
.header-sp-menu-container .header-nav { height: 100%; overflow-y: auto; background: none; }

.menu-button { position: absolute; top: 0; right: 0; padding: 0; width: 80px; height: 80px; display: block; z-index: 2000; cursor: pointer; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
@media (min-width: 48em) { .menu-button { width: 80px; height: 80px; } }
.menu-button.sp { display: block; }
@media (min-width: 62em) { .menu-button.sp { display: none; } }
.menu-button.pc { display: none; }
@media (min-width: 62em) { .menu-button.pc { display: block; } }
.menu-button.page { display: none; position: fixed; }
.menu-button .menu-btn-icon { display: block; position: absolute; top: 50%; left: 50%; width: 32px; height: 2px; margin: 0 0 0 -16px; background-color: #111; }
.menu-button .menu-btn-icon:before, .menu-button .menu-btn-icon:after { content: ""; display: block; position: absolute; top: 0; left: 0; width: 32px; height: 2px; background-color: #111; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
.menu-button .menu-btn-icon:before { margin-top: -8px; }
.menu-button .menu-btn-icon:after { margin-top: 8px; }
.menu-button.open .menu-btn-icon { background: transparent; }
.menu-button.open .menu-btn-icon:before { margin-top: 0; background-color: #111; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }
.menu-button.open .menu-btn-icon:after { margin-top: 0; background-color: #111; -webkit-transform: rotate(-135deg); -moz-transform: rotate(-135deg); transform: rotate(-135deg); }
.menu-button.open .menu-btn-text { color: #111; }

.footer-linklist { padding: 6.0rem 30px; border-top: 1px solid #dadada; }
.footer-linklist .title { margin: 0 0 2.7rem; font-size: 2.4rem; line-height: 1.5; font-weight: 700; text-align: center; color: #111; }
@media (min-width: 48em) { .footer-linklist .title { font-size: 1.6rem; line-height: 1.375; } }
.footer-linklist .link-list { display: flex; flex-wrap: wrap; margin: 0 auto 2.4rem auto; padding: 0; max-width: 1024px; list-style: none; }
.footer-linklist .link-list li { flex-basis: 48%; max-width: 48%; margin: 0 1.0% 2.0% 1.0%; text-align: center; }
@media (min-width: 48em) { .footer-linklist .link-list li { flex-basis: 24%; max-width: 24%; margin: 0 0.5% 1.0% 0.5%; } }
@media (min-width: 62em) { .footer-linklist .link-list li { flex-basis: 15.666666666666%; max-width: 15.666666666666%; } }
.footer-linklist .link-list span, .footer-linklist .link-list a { display: block; padding: 10px; border: 1px solid #ddd; border-radius: 4px; background-color: #f3f3f3; color: #aaa; }
.footer-linklist .link-list a { border-color: #cad900; background-color: #F4FF59; color: #111; }
.footer-linklist .entry-list { margin: 0 auto 2.4rem auto; padding: 0; list-style: none; max-width: 1024px; text-align: center; }
@media (min-width: 48em) { .footer-linklist .entry-list { display: flex; justify-content: center; } }
.footer-linklist .entry-list li { margin: 0 auto 15px auto; padding: 0; max-width: 320px; }
@media (min-width: 48em) { .footer-linklist .entry-list li { /*flex-basis: 80%; max-width: 80%;*/ margin: 0 1.5%; width: 18%; } }
.footer-linklist .entry-list a { display: block; padding: 20px 10px; background-color: #111; border-radius: 4px; color: #fff; }
.footer-linklist .link-banner { text-align: center; }
.footer-linklist .link-banner a { display: block; margin: auto; border-radius: 8px; overflow: hidden; width: 80%; }
@media (min-width: 48em) { .footer-linklist .link-banner a { width: 100%; max-width: 360px; } }
.footer-banner { padding: 2.4rem 1.5rem; background-color: #f5f5f5; font-size: 0; }
.footer-banner ul { margin: 0 auto 2.0rem auto; padding: 0; list-style: none; text-align: center; }
.footer-banner ul:nth-last-child(-n + 1) { margin-bottom: 0; }
@media (min-width: 62em) { .footer-banner ul { max-width: 1480px; } }
.footer-banner li { max-width: 300px; display: inline-block; margin: 0; padding: 10px; vertical-align: top; text-align: center; }
.footer-company { padding: 5.2rem 30px; background-color: #222; text-align: center; color: #fff; }
.footer-company-text P:nth-last-child(-n + 1) { margin-bottom: 0; }
.footer-company .title { margin-bottom: 1.8rem; font-size: 2.4rem; line-height: 1.5; font-weight: 700; }
@media (min-width: 48em) { .footer-company .title { font-size: 1.2rem; } }
.footer-company .title-sub { display: block; margin-bottom: 4px; font-size: 1.6rem; line-height: 1.75; }
@media (min-width: 48em) { .footer-company .title-sub { font-size: 0.8rem; } }
.footer-company .button a { display: block; margin: auto; padding: 16px; max-width: 280px; background-color: #19C0CC; border-radius: 4px; color: #fff; }
.footer-company .button i { margin-right: 8px; }
.footer-copy { padding: 30px; background-color: #111; text-align: center; color: #fff; }
.footer-copy P { font-size: 1.4rem; line-height: 1.85714; }
@media (min-width: 48em) { .footer-copy P { font-size: 0.7rem; } }
.footer-copy P:nth-last-child(-n + 1) { margin-bottom: 0; }

@-webkit-keyframes mainimage { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-moz-keyframes mainimage { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes mainimage { 0% { opacity: 0; }
  100% { opacity: 1; } }
.top-youtube { position: relative; margin: 0 auto; padding: 1.0rem; background-color: #fff; max-width: 680px; -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); -moz-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); }
@media (min-width: 80em) { .top-youtube { margin: 0 auto; padding: 40px; max-width: 920px; } }
.top-youtube .youtube-movie { margin-bottom: 0; }
@media (min-width: 62em) { .top-youtube .youtube-movie { height: 376px; overflow: hidden; } }
@media (min-width: 80em) { .top-youtube .youtube-movie { width: 860px; height: 472px; } }
@media (min-width: 80em) { .top-youtube .youtube-movie iframe { width: 840px; height: 472px; min-width: 840px; min-height: 472px; } }

.top-section { position: relative; display: flex; justify-content: flex-end; margin: 2.0rem 0 4.0rem; }
.top-section.left { justify-content: flex-start; }
.top-section.left .top-section-container { border-top-right-radius: 2.0rem; border-bottom-right-radius: 2.0rem; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.top-section.bg-yellow .top-section-container { background-color: #F4FF59; }
.top-section.bg-green .top-section-container { background-color: #03FFDD; }
.top-section-container { flex-basis: 95%; max-width: 95%; padding: 3.0rem; background-color: #f5f5f5; border-top-left-radius: 2.0rem; border-bottom-left-radius: 2.0rem; }
@media (min-width: 62em) { .top-section-container { padding: 5.0rem; } }
@media (min-width: 105em) { .top-section-container { flex-basis: 1480px; max-width: 1480px; } }
.top-section-text { padding: 2.0rem 0; color: #111; }
.top-section-text p:nth-last-child(-n + 1) { margin: 0; }

.top-excerpt { padding: 4.0rem; color: #111; }
.top-excerpt-container { margin: 0 auto; max-width: 1280px; }
.top-excerpt h2 { margin: 0 0 2.4rem; font-size: 2rem; line-height: 1.6; font-weight: 900; color: #111; }
@media (min-width: 48em) { .top-excerpt h2 { font-size: 2rem; line-height: 1.3; } }
.top-excerpt h3 { margin: 0 0 2.4rem; font-size: 1.8rem; line-height: 1.66667; font-weight: 700; color: #111; }
@media (min-width: 48em) { .top-excerpt h3 { font-size: 1.6rem; line-height: 1.375; } }

.icon-svg { width: 65px; height: 40px; }
@media (min-width: 80em) { .icon-svg { width: 130px; height: 80px; } }

.top-header { position: relative; z-index: 10; margin: 0; }
@media (min-width: 62em) { .top-header { margin: 3.0rem auto; padding: 0 2.0rem; } }
@media (min-width: 80em) { .top-header { padding: 0 3.0rem; max-width: 1480px; } }
.top-header-main { position: relative; padding: 0 1.5rem; z-index: 10; }
@media (min-width: 62em) { .top-header-main { padding: 0; } }
.top-header-main-container { margin: 0 auto; padding: 3.0rem; max-width: 480px; background-color: #F4FF59; border-radius: 2.0rem; }
@media (min-width: 62em) { .top-header-main-container { position: absolute; right: 0; margin: 0; } }
.top-header-main .title { position: relative; margin: 0 auto; padding: 0; max-width: 450px; }
.top-header-main .title-dr-icon { display: block; margin: 0 auto 24px auto; width: 136px; height: auto; }
@media (min-width: 48em) { .top-header-main .title-dr-icon { margin-bottom: 32px; width: 220px; } }
.top-header-main .title-end-icon { display: block; position: absolute; bottom: 28%; left: -20px; width: 100px; height: 100px; padding: 10px 10px 10px 10px; text-align: center; border: 5px solid #f00; border-radius: 80px; color: #f00; opacity: 0.80; -webkit-transform: rotate(-25deg); -moz-transform: rotate(-25deg); transform: rotate(-25deg); }
@media (min-width: 48em) { .top-header-main .title-end-icon { bottom: 26%; } }
.top-header-main .title-end-icon span { display: block; font-weight: 900; }
.top-header-main .title-end-icon .main { margin-bottom: 6px; font-size: 40px; line-height: 1; }
.top-header-main .title-end-icon .sub { font-size: 20px; line-height: 1; }
.top-header-main .text { margin: 2.0rem 0; color: #111; }
.top-header-main .text p:nth-last-child(-n + 1) { margin: 0; }
.top-header-img { margin: -80px 0 0 0; max-width: 1000px; }
@media (min-width: 62em) { .top-header-img { margin: 0; padding: 7.8rem 80px 0 0; } }
@media (min-width: 80em) { .top-header-img { padding: 7.8rem 80px 0 0; } }
.top-header-img ul { margin: 0; padding: 0; }
@media (min-width: 62em) { .top-header-img ul { border-radius: 2.0rem; overflow: hidden; z-index: 1; } }
.top-header-img img { display: block; width: 100%; }
.top-header-bicycle { position: relative; z-index: 20; margin: -15% auto 0 auto; width: 50%; height: 300px; }
@media (min-width: 30em) { .top-header-bicycle { margin-top: -10%; height: 450px; } }
@media (min-width: 48em) { .top-header-bicycle { margin-top: -15%; height: 550px; } }
@media (min-width: 62em) { .top-header-bicycle { position: absolute; right: 20px; bottom: -30%; width: 40%; height: 500px; } }
@media (min-width: 80em) { .top-header-bicycle { bottom: -44%; width: 45%; height: 800px; } }
.top-header-bicycle .map { position: absolute; top: 30%; right: -40%; }
@media (min-width: 62em) { .top-header-bicycle .map { top: 35%; right: 0; } }
@media (min-width: 80em) { .top-header-bicycle .map { top: 35%; } }
.top-header-bicycle .bicycle { position: absolute; top: 30%; left: -35%; width: 100%; }
@media (min-width: 62em) { .top-header-bicycle .bicycle { left: -45%; } }
@media (min-width: 80em) { .top-header-bicycle .bicycle { left: -25%; width: 100%; } }
.top-header-bicycle .bicycle img { max-width: 80%; }
.top-header-bicycle .bicycle figcaption { position: absolute; top: -20%; left: 50%; padding: 5px; width: 180px; font-size: 14px; line-height: 24px; font-weight: 700; color: #111; -webkit-transform: rotate(-15deg); -moz-transform: rotate(-15deg); transform: rotate(-15deg); }
.top-header-bicycle .bicycle figcaption:before { content: ''; position: absolute; top: -10px; left: 0; width: 80px; height: 1px; background-color: #111; -webkit-transform: rotate(-15deg); -moz-transform: rotate(-15deg); transform: rotate(-15deg); }
.top-header-bicycle .bicycle figcaption:after { content: ''; position: absolute; left: 0; bottom: -10px; width: 80px; height: 1px; background-color: #111; -webkit-transform: rotate(15deg); -moz-transform: rotate(15deg); transform: rotate(15deg); }
@media (min-width: 30em) { .top-header-bicycle .bicycle figcaption { top: -10%; } }
@media (min-width: 48em) { .top-header-bicycle .bicycle figcaption { top: -5%; } }
@media (min-width: 62em) { .top-header-bicycle .bicycle figcaption { top: 0; } }
@media (min-width: 80em) { .top-header-bicycle .bicycle figcaption { left: 50%; } }

.top-profile { position: relative; display: flex; justify-content: flex-end; margin: 2.0rem 0 4.0rem 0; }
@media (min-width: 62em) { .top-profile { margin: -10.0rem 0 4.0rem 0; } }
@media (min-width: 80em) { .top-profile { margin: -6.0rem 0 6.0rem 0; } }
@media (min-width: 62em) { .top-profile.end .top-profile-container { padding: 10.0rem 4.0rem 0 4.0rem; } }
.top-profile-container { position: relative; flex-basis: 90%; max-width: 90%; padding: 3.0rem 3.0rem 0 3.0rem; overflow: hidden; background-color: #03FFDD; border-top-left-radius: 2.0rem; border-bottom-left-radius: 2.0rem; }
@media (min-width: 62em) { .top-profile-container { padding: 25.0rem 4.0rem 0 4.0rem; } }
@media (min-width: 105em) { .top-profile-container { flex-basis: 1480px; max-width: 1480px; } }
.top-profile-container .icon-svg { position: absolute; left: 5%; bottom: -1px; fill: #fff; }
@media (min-width: 62em) { .top-profile-container .icon-svg { width: 130px; height: 80px; } }
.top-profile-excerpt { position: relative; margin: auto; padding: 0; max-width: 680px; }
@media (min-width: 62em) { .top-profile-excerpt { min-height: 500px; } }
@media (min-width: 80em) { .top-profile-excerpt { max-width: 920px; } }
.top-profile-excerpt.latest { padding: 2rem 0 5.8rem; text-align: center; color: #111; }
@media (min-width: 62em) { .top-profile-excerpt.latest { min-height: auto; } }
.top-profile-text { padding: 2.0rem 0; color: #111; }
@media (min-width: 62em) { .top-profile-text { width: 480px; } }
@media (min-width: 80em) { .top-profile-text { width: 680px; } }
.top-profile-text .button { margin: 0; padding: 1.6rem 0 0 0; text-align: center; }
.top-profile-text .button a { position: relative; display: block; margin: 0 auto 8px auto; padding: 8px; width: 240px; height: 56px; border: 1px solid #111; border-radius: 4px; }
@media (min-width: 62em) { .top-profile-text .button a { display: inline-block; margin: 0 4px 8px 4px; } }
.top-profile-text .button img { position: absolute; top: 50%; left: 50%; margin: auto; width: 40%; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
.top-profile-img { margin: auto; width: 200px; }
@media (min-width: 62em) { .top-profile-img { position: absolute; right: -10.0rem; bottom: 0; z-index: 10; width: 400px; } }
.top-profile-img.sp { display: block; }
@media (min-width: 62em) { .top-profile-img.sp { display: none; } }
.top-profile-img.pc { display: none; }
@media (min-width: 62em) { .top-profile-img.pc { display: block; } }
.top-profile .latest-header { margin: 0 0 1.8rem; }
.top-profile .latest-header .title { margin: 0 0 0.75rem; font-size: 2.4rem; line-height: 1.5; font-weight: 700; }
@media (min-width: 48em) { .top-profile .latest-header .title { font-size: 1.6rem; line-height: 1.375; } }
.top-profile .latest-header .day { margin: 0; font-size: 1.8rem; line-height: 1.66667; font-weight: 700; }
@media (min-width: 48em) { .top-profile .latest-header .day { font-size: 1rem; line-height: 1.6; } }
.top-profile .latest-text .button { margin: 0; padding: 1.5rem 0; font-weight: 700; }
.top-profile .latest-text .button a { display: block; margin: auto; padding: 20px 10px; max-width: 480px; background-color: #F4FF59; border-radius: 80px; }
.top-profile .latest-icon { position: absolute; top: -25px; left: -25px; width: 60px; height: 60px; padding: 14px 5px; background-color: #ff0000; border-radius: 80px; color: #fff; font-weight: 700; font-family: "Roboto"; text-align: center; }
@media (min-width: 48em) { .top-profile .latest-icon { position: absolute; top: -40px; left: -40px; width: 80px; height: 80px; padding: 20px 5px; } }
@media (min-width: 80em) { .top-profile .latest-icon { top: -40px; left: -40px; width: 100px; height: 100px; padding: 25px 5px; } }
.top-profile .latest-icon span { display: block; }
.top-profile .latest-icon .new { margin-bottom: 4px; font-size: 18px; line-height: 1; }
@media (min-width: 48em) { .top-profile .latest-icon .new { font-size: 24px; } }
@media (min-width: 80em) { .top-profile .latest-icon .new { font-size: 32px; } }
.top-profile .latest-icon .day { font-size: 10px; line-height: 1; }
@media (min-width: 48em) { .top-profile .latest-icon .day { font-size: 14px; } }
@media (min-width: 80em) { .top-profile .latest-icon .day { font-size: 18px; } }

.top-route { position: relative; padding: 9.0rem 3.0rem; background-image: url("../sunmoonlake/img/bg/bg_phlist@2x.jpg"); background-repeat: repeat; background-position: center center; background-size: 1120px auto; }
@media (min-width: 62em) { .top-route { background-size: 1680px auto; } }
.top-route:before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); }
.top-route-container { position: relative; z-index: 10; margin: 0 auto; padding: 0; overflow: hidden; max-width: 1100px; background-color: #fff; border-radius: 2.0rem; -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3); box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3); }
@media (min-width: 62em) { .top-route-container { display: flex; align-items: center; justify-content: space-between; padding: 3.0rem; } }
@media (min-width: 62em) { .top-route-map { flex-basis: 60%; } }
.top-route-map iframe { width: 100%; height: 320px; border: none; }
@media (min-width: 48em) { .top-route-map iframe { height: 480px; } }
.top-route-text { padding: 2.0rem; color: #111; }
@media (min-width: 62em) { .top-route-text { flex-basis: 35%; padding: 0; } }

.top-link { margin-bottom: 4.0rem; }
.top-link-container { background-color: #F4FF59; }
.top-link-text { margin: 0 auto; padding: 4.0rem 3.0rem 6.0rem 3.0rem; max-width: 1480px; }
@media (min-width: 62em) { .top-link-text { display: flex; justify-content: space-between; padding-bottom: 0; } }
@media (min-width: 62em) { .top-link-text .text { flex-basis: 65%; padding-bottom: 6.0rem; } }
.top-link-text .text-header { display: flex; justify-content: space-between; margin-bottom: 1.6rem; }
@media (min-width: 62em) { .top-link-text .text-header { display: block; } }
.top-link-text .text-header .title { flex-basis: 65%; margin: 0; font-size: 3.2rem; line-height: 1.375; font-weight: 900; color: #111; }
@media (min-width: 48em) { .top-link-text .text-header .title { font-size: 2.4rem; line-height: 1.25; } }
.top-link-text .text-header .subtitle { display: block; margin: 0 0 0.8rem; font-size: 2.4rem; line-height: 1.5; font-weight: 900; color: #FF59BD; }
@media (min-width: 48em) { .top-link-text .text-header .subtitle { font-size: 1.6rem; line-height: 1.375; } }
.top-link-text .text-excerpt { margin: 0 0 2.0rem; font-size: 1.6rem; line-height: 2.2; font-weight: 900; color: #111; }
@media (min-width: 48em) { .top-link-text .text-excerpt { font-size: 1rem; line-height: 2; } }
.top-link-text .img { align-self: flex-end; flex-basis: 30%; }
.top-link-text .img.sp { display: block; }
@media (min-width: 62em) { .top-link-text .img.sp { display: none; } }
.top-link-text .img.pc { display: none; }
@media (min-width: 62em) { .top-link-text .img.pc { display: block; } }
.top-link-button { margin: -5.0rem auto 0 auto; padding: 0 1.5rem; list-style: none; max-width: 1280px; }
@media (min-width: 48em) { .top-link-button { display: flex; } }
.top-link-button li { margin: 0 3.0rem 3.0rem 3.0rem; }
@media (min-width: 48em) { .top-link-button li { flex-basis: calc( 33.33333333% - 1.5rem); max-width: calc( 33.33333333% - 1.5rem); margin: 0 0.75rem; } }
@media (min-width: 62em) { .top-link-button li { margin: 0 1.5rem; } }
.top-link-button a { display: block; position: relative; }
@media (min-width: 62em) { .top-link-button a:hover { opacity: 1; }
  .top-link-button a:hover .link-button { background-color: rgba(244, 255, 89, 0.8); color: #111; } }
.top-link-button .link-img { position: relative; }
.top-link-button .link-img:before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.2); }
.top-link-button .link-header { position: absolute; top: 15%; left: 20px; right: 20px; color: #fff; text-align: center; -webkit-text-shadow: 0 3px 6px rgba(0, 0, 0, 0.2); -moz-text-shadow: 0 3px 6px rgba(0, 0, 0, 0.2); text-shadow: 0 3px 6px rgba(0, 0, 0, 0.2); }
.top-link-button .link-header .title { margin: 0 0 1.2rem; font-size: 3.2rem; line-height: 1.375; font-weight: 900; color: #fff; }
@media (min-width: 48em) { .top-link-button .link-header .title { font-size: 2rem; line-height: 1.3; } }
@media (min-width: 80em) { .top-link-button .link-header .title { font-size: 3.2rem; line-height: 1.1875; } }
.top-link-button .link-header .text { font-size: 1.6rem; line-height: 1.75; font-weight: 700; color: #fff; }
@media (min-width: 48em) { .top-link-button .link-header .text { font-size: 1rem; line-height: 1.6; } }
.top-link-button .link-button { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 1.2rem; background-color: rgba(0, 0, 0, 0.8); color: #fff; text-align: center; font-weight: 700; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }

.top-startday { position: relative; display: flex; margin-top: 60px; }
.top-startday-container { position: relative; flex-basis: 95%; max-width: 95%; }
.top-startday-container:before { content: ''; z-index: -1; position: absolute; left: 0; right: 0; bottom: 0; background-color: #FF0000; border-top-right-radius: 2.0rem; border-bottom-right-radius: 2.0rem; height: 90%; }
@media (min-width: 62em) { .top-startday-container:before { height: 80%; } }
.top-startday-detail { display: flex; align-items: flex-end; }
.top-startday .icon-svg { position: absolute; left: 5%; bottom: 89%; fill: #FF0000; }
@media (min-width: 62em) { .top-startday .icon-svg { bottom: 79%; } }
.top-startday .text { align-self: center; margin: 0; padding: 10% 2.5% 5% 10%; width: 60%; font-size: 2.4rem; line-height: 1.5; font-weight: 900; color: #fff; }
@media (min-width: 48em) { .top-startday .text { padding: 5% 2.5% 5% 10%; width: 70%; font-size: 1.6rem; line-height: 1.375; } }
@media (min-width: 80em) { .top-startday .text { font-size: 2.1rem; line-height: 1.28571; } }
.top-startday .text .num { font-size: 4rem; line-height: 1.3; font-family: "Roboto"; }
@media (min-width: 48em) { .top-startday .text .num { font-size: 3.2rem; line-height: 1.1875; } }
@media (min-width: 80em) { .top-startday .text .num { font-size: 4rem; line-height: 1.15; } }
.top-startday .img { width: 30%; }
@media (min-width: 48em) { .top-startday .img { width: 25%; } }
@media (min-width: 80em) { .top-startday .img { width: 25%; } }

.top-setupmovie { position: relative; display: flex; justify-content: flex-end; margin: 2.0rem 0 4.0rem; }
@media (min-width: 62em) { .top-setupmovie { margin: -3.0rem 0 4.0rem; } }
@media (min-width: 80em) { .top-setupmovie { margin-top: -4.8rem; } }
.top-setupmovie-container { flex-basis: 95%; max-width: 95%; padding: 3.0rem; background-color: #f5f5f5; border-top-left-radius: 2.0rem; border-bottom-left-radius: 2.0rem; }
@media (min-width: 62em) { .top-setupmovie-container { padding: 5.0rem; } }
@media (min-width: 105em) { .top-setupmovie-container { flex-basis: 1480px; max-width: 1480px; } }
.top-setupmovie .text { margin: 0 auto; padding: 1.5rem 0 0; max-width: 920px; font-size: 1.8rem; line-height: 1.66667; font-weight: 700; text-align: center; color: #111; }
@media (min-width: 48em) { .top-setupmovie .text { font-size: 1.2rem; line-height: 1.5; } }

.top-banner { padding: 2.0rem 3.0rem; text-align: center; }
.top-banner a { display: inline-block; border-radius: 8px; overflow: hidden; }
@media (min-width: 62em) { .top-banner img { max-width: 680px; } }

.top-triplist { padding: 0 3.0rem 4.8rem 3.0rem; }
.top-triplist-map { margin: 0 -3.0rem 4.0rem -3.0rem; }
.top-triplist-map iframe { width: 100%; height: 360px; border: none; }
@media (min-width: 48em) { .top-triplist-map iframe { height: 520px; } }
.top-triplist-container { margin: auto; max-width: 1280px; }
.top-triplist-header { margin: 0 0 48px; padding: 0 3.0rem; text-align: center; }
@media (min-width: 48em) { .top-triplist-header { margin: 0 0 64px; } }
.top-triplist-header .icon { margin: 0 auto 10px auto; width: 120px; }
.top-triplist-header .title { margin: 0; font-size: 2.4rem; line-height: 1.5; font-weight: 900; color: #111; }
@media (min-width: 48em) { .top-triplist-header .title { font-size: 1.6rem; line-height: 1.375; } }
.top-triplist-list { margin: 0; padding: 0; list-style: none; }
.top-triplist-list li { position: relative; margin: 0 0 4.0rem; padding: 4.0rem 2.0rem 2.0rem 2.0rem; border: 1px solid #555; background-color: #fff; border-radius: 2.0rem; }
@media (min-width: 62em) { .top-triplist-list li { padding-top: 3.0rem; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
  .top-triplist-list li:hover { opacity: 1; background-color: #e8e8e8; } }
.top-triplist-list li:nth-last-child(-n + 1) { margin-bottom: 0; }
.top-triplist-list .title-icon { display: block; position: absolute; top: -25px; left: 50%; margin: 0 0 0 -100px; width: 200px; height: 48px; border: 1px solid #555; border-radius: 2.0rem; background-color: #fff; font-size: 2rem; line-height: 1.6; font-weight: 900; font-family: "Roboto"; color: #111; }
@media (min-width: 48em) { .top-triplist-list .title-icon { font-size: 1.2rem; line-height: 1.5; } }
.top-triplist-list .title-icon .day { display: block; position: absolute; top: 50%; left: 10px; right: 10px; margin: auto; text-align: center; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); }
.top-triplist-list .link { display: block; position: relative; color: #111; }
@media (min-width: 62em) { .top-triplist-list .link { display: flex; justify-content: space-between; align-items: center; } }
.top-triplist-list .link:hover { opacity: 1; }
.top-triplist-list .link-img { display: block; overflow: hidden; margin-bottom: 2.0rem; border-radius: 1.0rem; }
@media (min-width: 62em) { .top-triplist-list .link-img { flex-basis: 40%; margin: 0; } }
.top-triplist-list .link-img img { width: 100%; }
@media (min-width: 62em) { .top-triplist-list .link-container { flex-basis: 55%; } }
.top-triplist-list .link-header { margin: 0 0 1.5rem; }
.top-triplist-list .link-header .title { margin: 0 0 1.0rem; font-size: 2.4rem; line-height: 1.5; font-weight: 900; color: #111; }
@media (min-width: 48em) { .top-triplist-list .link-header .title { font-size: 1.6rem; line-height: 1.375; } }
.top-triplist-list .link-header .day { display: block; margin-bottom: 4px; font-size: 1.4rem; line-height: 1.85714; font-family: "Roboto"; }
@media (min-width: 48em) { .top-triplist-list .link-header .day { font-size: 0.8rem; line-height: 1.75; } }
.top-triplist-list .link-header .road-data { margin: 0; font-weight: 700; }
.top-triplist-list .link-excerpt .button { margin: 0; padding: 10px 0; font-weight: 700; text-align: right; }
.top-triplist-list .link-excerpt .button span { position: relative; display: block; }
.top-triplist-list .link-excerpt .button span:before { content: '\f105'; font-family: "Font Awesome 5 Pro"; margin-right: 8px; }
.top-triplist .link-list { display: flex; flex-wrap: wrap; margin: 2.4rem auto; padding: 0; max-width: 1024px; list-style: none; }
.top-triplist .link-list li { flex-basis: 48%; max-width: 48%; margin: 0 1.0% 2.0% 1.0%; text-align: center; }
@media (min-width: 48em) { .top-triplist .link-list li { flex-basis: 24%; max-width: 24%; margin: 0 0.5% 1.0% 0.5%; } }
@media (min-width: 62em) { .top-triplist .link-list li { flex-basis: 15.666666666666%; max-width: 15.666666666666%; } }
.top-triplist .link-list span, .top-triplist .link-list a { display: block; padding: 10px; border: 1px solid #ddd; border-radius: 4px; background-color: #f3f3f3; color: #aaa; }
.top-triplist .link-list a { border-color: #cad900; background-color: #F4FF59; color: #111; }

@-webkit-keyframes mainimage { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-moz-keyframes mainimage { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes mainimage { 0% { opacity: 0; }
  100% { opacity: 1; } }
.page-title { position: relative; padding: 3.0rem; }
@media (min-width: 48em) { .page-title { padding: 4.0rem; } }
.page-title .title { position: relative; z-index: 1; margin: 0; font-size: 3.2rem; line-height: 1.375; font-weight: 900; color: #111; }
@media (min-width: 48em) { .page-title .title { font-size: 2.4rem; line-height: 1.25; } }
.page-title .title.center { text-align: center; }
.page-title .icon { position: absolute; bottom: 0; }
.page-title .icon.human-check { right: -2.0rem; width: 180px; }
@media (min-width: 48em) { .page-title .icon.human-check { width: 360px; } }
@media (min-width: 62em) { .page-title .icon.human-check { width: 480px; } }

.page-section { position: relative; display: flex; justify-content: flex-end; margin: 2.0rem 0 4.0rem; }
.page-section.left { justify-content: flex-start; }
.page-section.left .page-section-container { border-top-right-radius: 2.0rem; border-bottom-right-radius: 2.0rem; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.page-section-container { flex-basis: 95%; max-width: 95%; padding: 3.0rem; background-color: #f5f5f5; border-top-left-radius: 2.0rem; border-bottom-left-radius: 2.0rem; }
@media (min-width: 62em) { .page-section-container { padding: 3.0rem 5.0rem; } }
@media (min-width: 105em) { .page-section-container { flex-basis: 1480px; max-width: 1480px; } }
.page-section-container a { text-decoration: underline; }
.page-section-container a[target="_blank"]:after { content: '\f2d2'; margin: 0 8px 0 4px; font-family: "Font Awesome 5 Pro"; font-weight: 300; text-decoration: none; display: inline-block; }
.page-section-text { padding: 2.0rem 0; color: #111; }
.page-section-text p:nth-last-child(-n + 1) { margin: 0; }

.page-excerpt { padding: 4.0rem 3.0rem; color: #111; }
.page-excerpt-container { margin: 0 auto; max-width: 1280px; }
.page-excerpt-container a { text-decoration: underline; }
.page-excerpt-container a[target="_blank"]:after { content: '\f2d2'; margin: 0 8px 0 4px; font-family: "Font Awesome 5 Pro"; font-weight: 300; text-decoration: none; display: inline-block; }
.page-excerpt h2 { margin: 0 0 2.4rem; font-size: 2.4rem; line-height: 1.5; font-weight: 900; color: #111; }
@media (min-width: 48em) { .page-excerpt h2 { font-size: 2rem; line-height: 1.3; } }
.page-excerpt h3 { margin: 0 0 2.4rem; font-size: 2rem; line-height: 1.6; font-weight: 700; color: #111; }
@media (min-width: 48em) { .page-excerpt h3 { font-size: 1.5rem; line-height: 1.4; } }

.page-area { position: relative; display: flex; margin: 0 0 4.0rem 0; }
@media (min-width: 62em) { .page-area { margin: 0 0 4.0rem 0; } }
@media (min-width: 80em) { .page-area { margin: 0 0 6.0rem 0; } }
.page-area .icon-svg { right: 3.0rem; fill: #03FFDD; }
.page-area-container { position: relative; flex-basis: 90%; max-width: 90%; }
@media (min-width: 105em) { .page-area-container { flex-basis: 1480px; max-width: 1480px; } }
.page-area-detail { padding: 2.0rem; overflow: hidden; background-color: #03FFDD; border-top-right-radius: 2.0rem; border-bottom-right-radius: 2.0rem; }
@media (min-width: 48em) { .page-area-detail { padding: 2.6rem 3.0rem; } }
.page-area-detail > ul { margin: 0; padding: 0; list-style: none; }
@media (min-width: 48em) { .page-area-detail > ul { display: flex; flex-wrap: wrap; } }
.page-area-detail > ul li { margin: 0 0 2.0rem 0; padding: 1.0rem; background-color: #fff; border-radius: 0.5rem; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
@media (min-width: 48em) { .page-area-detail > ul li { flex-basis: calc(50% - 2.0rem); max-width: calc(50% - 2.0rem); margin: 1.2rem 1.0rem; } }
@media (min-width: 80em) { .page-area-detail > ul li { flex-basis: calc(33.33333333333333% - 2.0rem); max-width: calc(33.33333333333333% - 2.0rem); } }
.page-area-detail > ul .detail { color: #111; }
.page-area-detail > ul .detail-header { margin: 0 0 16px; padding: 0 0 16px 0; border-bottom: 1px solid #111; text-align: center; }
.page-area-detail > ul .detail-header .day { margin: 0; padding: 10px; font-size: 2rem; line-height: 1.6; font-weight: 900; }
@media (min-width: 48em) { .page-area-detail > ul .detail-header .day { font-size: 1.2rem; line-height: 1.5; } }
.page-area-detail > ul .detail-header .day i { font-style: normal; font-size: 3.6rem; line-height: 1.33333; font-family: "Roboto"; }
@media (min-width: 48em) { .page-area-detail > ul .detail-header .day i { font-size: 2rem; line-height: 1.3; } }
.page-area-detail > ul .detail-header .city { margin: 0; font-size: 2rem; line-height: 1.6; font-weight: 700; }
@media (min-width: 48em) { .page-area-detail > ul .detail-header .city { font-size: 1.2rem; line-height: 1.5; } }
.page-area-detail > ul .detail-text { font-size: 1.4rem; line-height: 1.85714; }
@media (min-width: 48em) { .page-area-detail > ul .detail-text { font-size: 0.7rem; } }
.page-area-detail > ul .detail-text table { margin-bottom: 0.75rem; width: 100%; }
.page-area-detail > ul .detail-text table th, .page-area-detail > ul .detail-text table td { display: block; width: 100%; padding: 4px 8px; text-align: left; vertical-align: top; }
@media (min-width: 62em) { .page-area-detail > ul .detail-text table th, .page-area-detail > ul .detail-text table td { display: table-cell; } }
.page-area-detail > ul .detail-text table th { background-color: #E5E5E5; border-bottom: none; }
@media (min-width: 62em) { .page-area-detail > ul .detail-text table th { width: 35%; border: 2px solid #fff; } }
.page-area-detail > ul .detail-text table td { background-color: #f5f5f5; border-bottom: 3px solid #fff; }
@media (min-width: 62em) { .page-area-detail > ul .detail-text table td { width: 75%; border: 2px solid #fff; } }
.page-area-detail > ul .detail-text p:nth-last-child(-n + 1) { margin-bottom: 0; }

.page-guide { padding-bottom: 2.4rem; }
.page-guide-container { margin-bottom: 3.2rem; background-color: #F4FF59; }
.page-guide-container > section { margin: 0 auto; padding: 0 3.0rem 4.0rem 3.0rem; max-width: 1280px; }
.page-guide-container a { text-decoration: underline; }
.page-guide-container a[target="_blank"]:after { content: '\f2d2'; margin: 0 8px 0 4px; font-family: "Font Awesome 5 Pro"; font-weight: 300; text-decoration: none; display: inline-block; }
.page-guide-detail { padding: 2.0rem; background-color: #fff; border-radius: 1.0rem; color: #111; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
@media (min-width: 62em) { .page-guide-detail { padding: 3.0rem; } }
.page-guide-detail > div { padding-right: 10px; height: 320px; overflow-y: auto; }
@media (min-width: 48em) { .page-guide-detail > div { height: 480px; } }
@media (min-width: 62em) { .page-guide-detail > div { height: 680px; } }
.page-guide-detail table { margin: 0 0 1.2rem 0; width: 100%; }
.page-guide-detail th, .page-guide-detail td { display: block; width: 100%; vertical-align: top; text-align: left; }
@media (min-width: 62em) { .page-guide-detail th, .page-guide-detail td { display: table-cell; } }
.page-guide-detail th { padding: 10px 0; border-bottom: 1px dotted #dadada; }
@media (min-width: 62em) { .page-guide-detail th { width: 25%; padding: 20px 0; border-bottom: 1px solid #dadada; } }
.page-guide-detail td { padding: 10px 0 20px; }
@media (min-width: 62em) { .page-guide-detail td { width: 75%; padding: 20px 0 20px 20px; border-bottom: 1px solid #dadada; } }
.page-guide-button { margin: 0 auto; padding: 2.0rem; max-width: 1280px; text-align: center; color: #111; }
.page-guide-button .button { font-size: 2.4rem; line-height: 1.5; font-weight: 900; color: #111; }
@media (min-width: 48em) { .page-guide-button .button { font-size: 1.6rem; line-height: 1.375; } }
.page-guide-button .button a { display: block; margin: 0 auto; padding: 20px 10px; max-width: 680px; background-color: #FF0000; border-radius: 80px; color: #fff; }

.page-quiz { padding: 2.0rem 0; }
.page-quiz-container { display: flex; justify-content: space-between; align-items: flex-start; margin: 0 auto; padding: 3.0rem; max-width: 980px; }
.page-quiz-container .list { flex-basis: 45%; }
.page-quiz-container .list figure { position: relative; margin-bottom: 15px; padding: 40px 0 0 0; text-align: center; }
.page-quiz-container .list figcaption { position: absolute; top: 0; left: 0; font-size: 2.4rem; line-height: 1.5; font-weight: 900; color: #111; }
@media (min-width: 48em) { .page-quiz-container .list figcaption { font-size: 1.6rem; line-height: 1.375; } }
.page-quiz-container .list .weight { border: 1px solid #dadada; border-radius: 4px; overflow: hidden; }
.page-quiz-container .list .weight-title { margin: 0; padding: 8px; background-color: #f5f5f5; border-bottom: 1px solid #dadada; font-size: 1.8rem; line-height: 1.66667; font-weight: 900; color: #111; text-align: center; }
@media (min-width: 48em) { .page-quiz-container .list .weight-title { font-size: 1rem; line-height: 1.6; } }
@media (min-width: 48em) { .page-quiz-container .list .weight-container { display: flex; flex-wrap: nowrap; position: relative; }
  .page-quiz-container .list .weight-container:before { content: ''; position: absolute; top: 0; left: 50%; height: 100%; width: 1px; background-color: #dadada; } }
.page-quiz-container .list .weight-container dl { margin: 0; padding: 1.5rem; text-align: center; font-weight: 700; color: #111; }
@media (min-width: 48em) { .page-quiz-container .list .weight-container dl { flex-basis: 50%; } }
.page-quiz-container .list .weight-container dl:first-child { border-bottom: 1px solid #dadada; }
@media (min-width: 48em) { .page-quiz-container .list .weight-container dl:first-child { border-bottom: none; } }
.page-quiz-container .list .weight-container dt { margin: 0; padding: 0; }
.page-quiz-container .list .weight-container dd { margin: 0; padding: 0; }
.page-quiz-container .list .weight-container .num { margin-right: 4px; font-size: 2.4rem; line-height: 1.5; }
@media (min-width: 48em) { .page-quiz-container .list .weight-container .num { font-size: 1.6rem; line-height: 1.375; } }
.page-quiz-container .arrow { flex-basis: 10%; align-self: center; font-size: 2.4rem; line-height: 1.5; text-align: center; color: #FF59BD; }
@media (min-width: 48em) { .page-quiz-container .arrow { font-size: 2rem; line-height: 1.3; } }
.page-quiz-button { margin: 0 auto; padding: 2.0rem; max-width: 1280px; text-align: center; color: #111; }
.page-quiz-button .button { font-size: 2.4rem; line-height: 1.5; font-weight: 900; color: #111; }
@media (min-width: 48em) { .page-quiz-button .button { font-size: 1.6rem; line-height: 1.375; } }
.page-quiz-button .button a { display: block; margin: 0 auto; padding: 20px 10px; max-width: 800px; background-color: #FF0000; border-radius: 80px; color: #fff; }

.days-title { display: flex; justify-content: center; align-items: center; margin: 0 0 2.4rem; text-align: center; }
.days-title .title { margin: 0; }
.days-title div:first-child { padding: 0 0.80rem 0 0; }
.days-title div:nth-last-child(-n + 1) { padding: 0 0 0 0.80rem; }

.icon-gear { display: inline-block; top: 8px; width: 30px; height: 12px; margin: 0; vertical-align: middle; }

.days-schedule { position: relative; margin: auto; padding: 78px 0 0 0; max-width: 680px; border: 1px solid #555; border-radius: 1.0rem; overflow: hidden; }
@media (min-width: 48em) { .days-schedule { padding: 90px 0 0 0; } }
.days-schedule-header { position: absolute; top: -1px; left: 50%; width: 260px; margin: 0 0 0 -130px; padding: 12px; border: 1px solid #555; border-bottom-left-radius: 0.50rem; border-bottom-right-radius: 0.50rem; text-align: center; }
@media (min-width: 48em) { .days-schedule-header { width: 400px; margin: 0 0 0 -200px; } }
.days-schedule-header .title { margin: 0; font-size: 1.8rem; line-height: 1.66667; font-weight: 700; color: #111; }
@media (min-width: 48em) { .days-schedule-header .title { font-size: 1.2rem; line-height: 1.5; } }
.days-schedule-header i { display: block; margin: 0 0 4px; }
.days-schedule-route { padding: 2.0rem; }
.days-schedule-route table { margin-bottom: 2.0rem; width: 100%; }
.days-schedule-route th, .days-schedule-route td { padding: 10px; border-bottom: 1px solid #ccc; vertical-align: top; text-align: left; }
.days-schedule-route th { width: 20%; font-weight: 700; font-family: "Roboto"; }
.days-schedule-route td { width: 80%; }
.days-schedule-route p:nth-last-child(-n + 1) { margin: 0; }
.days-schedule-route .day-end { margin: 0; text-align: center; }
.days-schedule-route .day-end span { display: block; padding: 4px; border: 1px solid #FF0000; color: #FF0000; }
.days-schedule-route .day-end i { margin-right: 6px; }

.days-flow { overflow: hidden; }
.days-flow-today { position: relative; margin: auto; max-width: 980px; }
.days-flow-icon { margin-top: 160px; }
.days-flow-bicycle { position: absolute; top: -220px; left: 0; }
@media (min-width: 48em) { .days-flow-bicycle { top: -340px; left: -4%; } }
.days-flow-bicycle img { max-width: 200px; }
@media (min-width: 48em) { .days-flow-bicycle img { max-width: 320px; } }
.days-flow-bicycle figcaption { position: absolute; top: -15px; left: 140px; padding: 5px; width: 200px; font-size: 14px; line-height: 24px; font-weight: 700; color: #111; -webkit-transform: rotate(-10deg); -moz-transform: rotate(-10deg); transform: rotate(-10deg); }
.days-flow-bicycle figcaption:before { content: ''; position: absolute; top: -10px; left: 0; width: 110px; height: 1px; background-color: #111; -webkit-transform: rotate(-10deg); -moz-transform: rotate(-10deg); transform: rotate(-10deg); }
.days-flow-bicycle figcaption:after { content: ''; position: absolute; left: 0; bottom: -10px; width: 110px; height: 1px; background-color: #111; -webkit-transform: rotate(10deg); -moz-transform: rotate(10deg); transform: rotate(10deg); }
@media (min-width: 48em) { .days-flow-bicycle figcaption { top: 0; left: 200px; } }
@media (min-width: 62em) { .days-flow-bicycle figcaption { top: 0; left: 200px; } }
.days-flow-list { position: relative; margin: 0 0 2.5rem; padding: 0 0 3.5rem; color: #111; }
.days-flow-list:after { content: ''; position: absolute; left: 50%; bottom: 0; margin: 0 0 0 -2.0rem; width: 0; height: 0; border-style: solid; border-width: 1.75rem 1.5rem 0 1.5rem; border-color: #111 transparent transparent transparent; }
@media (min-width: 62em) { .days-flow-list { display: flex; justify-content: space-between; align-items: center; } }
.days-flow-list:nth-last-child(-n + 1) { margin-bottom: 0; padding-bottom: 0; }
.days-flow-list:nth-last-child(-n + 1):after { display: none; }
.days-flow-list .list-img { display: block; overflow: hidden; margin-bottom: 2.0rem; }
@media (min-width: 62em) { .days-flow-list .list-img { flex-basis: 40%; margin: 0; } }
.days-flow-list .list-img img { width: 100%; }
@media (min-width: 62em) { .days-flow-list .list-container { flex-basis: 55%; } }
.days-flow-list .list-header { margin: 0 0 1.5rem; }
.days-flow-list .list-header .title { margin: 0 0 1.0rem; font-size: 2.4rem; line-height: 1.5; font-weight: 900; color: #111; word-break: auto-phrase; }
@media (min-width: 48em) { .days-flow-list .list-header .title { font-size: 1.6rem; line-height: 1.375; } }
.days-flow-list .list-header .day { display: block; margin-bottom: 4px; font-size: 1.4rem; line-height: 1.85714; font-family: "Roboto"; }
@media (min-width: 48em) { .days-flow-list .list-header .day { font-size: 0.8rem; line-height: 1.75; } }
.days-flow-list .list-header .road-data { margin: 0; font-weight: 700; }
.days-flow-list .list-excerpt p:nth-last-child(-n + 1) { margin: 0; }
.days-flow-list .list-excerpt a { text-decoration: underline; }
.days-flow-list .list-excerpt a[target="_blank"]:after { content: '\f2d2'; margin: 0 8px 0 4px; font-family: "Font Awesome 5 Pro"; font-weight: 300; text-decoration: none; display: inline-block; }
.days-flow-list .list-excerpt .button { margin-top: 1.5rem; font-weight: 700; text-align: center; }
.days-flow-list .list-excerpt .button a { display: block; padding: 8px; border: 1px solid #111; border-radius: 4px; text-decoration: none; }

.days-flow-list.matome{}
.days-flow-list.matome:after{display: none;}
.days-flow-list.matome .list-img iframe{border: none; margin: 0;}
@media (min-width: 62em) { 
    .days-flow-list.matome { display: block; margin: 0; }
    .days-flow-list.matome .list-img{ margin: 0 0 1.6rem 0; }
    .days-flow-list.matome .list-container{margin: auto; max-width: 80%;}
}

.days-spot { position: relative; border-top: 1px solid #dadada; }
.days-spot:before { content: ''; position: absolute; top: -1px; left: 50%; width: 6.0rem; height: 6px; margin-left: -3.0rem; background-color: #FF0000; }
@media (min-width: 48em) { .days-spot-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; } }
@media (min-width: 48em) { .days-spot-list.spthanks { justify-content: flex-start; } }
@media (min-width: 48em) { .days-spot-list.spthanks .list { flex-basis: 33.333333333333%; } }
@media (min-width: 62em) { .days-spot-list.spthanks .list { flex-basis: 25%; } }
.days-spot-list .list { position: relative; margin: 0 0 1.5rem; padding: 0.75rem 0; color: #111; }
@media (min-width: 48em) { .days-spot-list .list { flex-basis: 50%; padding: 0.75rem; } }
@media (min-width: 62em) { .days-spot-list .list { flex-basis: 33.333333333333%; } }
.days-spot-list .list:nth-last-child(-n + 1) { margin-bottom: 0; padding-bottom: 0; }
.days-spot-list .list:nth-last-child(-n + 1):after { display: none; }
.days-spot-list .list > a, .days-spot-list .list > span { display: block; padding: 0.75rem 0; }
@media (min-width: 48em) { .days-spot-list .list > a, .days-spot-list .list > span { padding: 0.75rem; } }
.days-spot-list .list-img { display: block; overflow: hidden; margin-bottom: 1.25rem; border-radius: 1.0rem; }
.days-spot-list .list-img img { width: 100%; }
.days-spot-list .list-header { margin: 0 0 0.75rem; }
.days-spot-list .list-header .title { margin: 0; font-size: 1.8rem; line-height: 1.66667; font-weight: 700; color: #111; }
@media (min-width: 48em) { .days-spot-list .list-header .title { font-size: 1rem; line-height: 1.6; } }
.days-spot-list .list-header .day { display: block; margin-bottom: 4px; font-size: 1.4rem; line-height: 1.85714; font-family: "Roboto"; }
@media (min-width: 48em) { .days-spot-list .list-header .day { font-size: 0.8rem; line-height: 1.75; } }
.days-spot-list .list-header .road-data { margin: 0; font-weight: 700; }
.days-spot-list .list-excerpt { /*.button{
	margin: 0;
	padding: 10px 0;
	font-weight: 700;
	text-align: right;
	span{
		position: relative;
		display: block;
		&:before{
			content: '\f105';
			font-family: $font-icon;
			margin-right: 8px;
		}
	}
}*/ }
.days-spot-list .list-excerpt p:nth-last-child(-n + 1) { margin: 0; }
.days-spot-list .list-excerpt a { text-decoration: underline; }
.days-spot-list .list-excerpt a[target="_blank"]:after { content: '\f2d2'; margin: 0 8px 0 4px; font-family: "Font Awesome 5 Pro"; font-weight: 300; text-decoration: none; display: inline-block; }
.days-spot-list .list-excerpt .button { margin-top: 1.5rem; font-weight: 700; text-align: center; }
.days-spot-list .list-excerpt .button a { display: block; padding: 8px; border: 1px solid #111; border-radius: 4px; text-decoration: none; }

#header { padding-top: 64px; }

.header-title { width: 280px; }
@media (min-width: 62em) { .header-title { width: 380px; } }
.header-title a { display: flex; align-items: center; }
.header-title svg { flex: 1; margin-right: 10px; width: 64px; height: 64px; }
.header-title img { width: 80%; }

.header-top .header-title, .header-page .header-title { padding: 10px 20px; }

.top-header-main .title svg { display: block; margin: 0 auto 16px auto; width: 100px; height: 100px; }
@media (min-width: 48em) { .top-header-main .title svg { width: 150px; height: 150px; } }
@media (min-width: 62em) { .top-header-main .title svg { width: 180px; height: 180px; } }

.top-triplist-header .icon svg { width: 80px; height: 80px; }

.sticky-menu.sticky { top: 64px; }

.sticky-menu .logo { top: 50%; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); transform: translateY(-50%); }
@media (min-width: 62em) { .sticky-menu .logo { padding: 20px; } }
.sticky-menu .logo a { display: flex; align-items: center; }
.sticky-menu .logo svg { flex: 1; margin-right: 10px; width: 64px; height: 64px; }
.sticky-menu .logo img { width: 80%; }

.sticky-menu .logo svg { width: 48px; height: 48px; }

.header-nav .g-nav { margin-top: 144px; }
@media (min-width: 48em) { .header-nav .g-nav { height: calc(100% - (80px + 64px)); } }

.menu-button.page { top: 64px; }

.menu-button.sp { top: 64px; }

.common-menu-button { position: relative; margin: 0; padding: 0; width: 64px; height: 64px; background-color: #00326C; display: block; cursor: pointer; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
.common-menu-button .common-menu-btn-icon { display: block; position: absolute; top: 50%; left: 50%; width: 20px; margin: 0 0 0 -10px; }
.common-menu-button .common-menu-btn-icon:before, .common-menu-button .common-menu-btn-icon:after { content: ""; display: block; position: absolute; top: 0; left: -30%; width: 20px; height: 2px; background-color: #F5EA2A; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
.common-menu-button .common-menu-btn-icon:before { left: 35%; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }
.common-menu-button .common-menu-btn-icon:after { -webkit-transform: rotate(225deg); -moz-transform: rotate(225deg); transform: rotate(225deg); }
.common-menu-button.open .common-menu-btn-icon { background: transparent; }
.common-menu-button.open .common-menu-btn-icon:before { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); }
.common-menu-button.open .common-menu-btn-icon:after { -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); transform: rotate(135deg); }

.header-common { position: relative; z-index: 5000; }
.header-common-base { display: block; position: fixed; top: 0; left: 0; right: 0; z-index: 100; background-color: #fff; height: 64px; -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); }
.header-common-base .common-menu-button { position: absolute; top: 0; right: 0; }
.header-common-base .title { position: absolute; top: 50%; left: 20px; margin: -13.5px 0 0 0; padding: 0; font-size: 0; }
.header-common-base .title svg { width: 146px; height: 27px; }
.header-common-base .title a { display: block; }
.header-common-nav { position: fixed; top: -100%; right: 0; width: 100%; height: calc(100% - 64px); background-color: #00326C; color: #fff; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; }
@media (min-width: 62em) { .header-common-nav { height: auto; } }
.header-common-nav.open { top: 64px; }
.header-common-nav .g-nav { height: 100%; overflow-y: auto; }
.header-common-nav .g-nav-container { width: 100%; }
.header-common-nav .g-nav-menu, .header-common-nav .g-nav-submenu, .header-common-nav .g-nav-sns { margin: 0; padding: 0; list-style: none; }
.header-common-nav .g-nav-menu > li > ul, .header-common-nav .g-nav-submenu > li > ul, .header-common-nav .g-nav-sns > li > ul { margin: 0; padding: 0; list-style: none; }
.header-common-nav .g-nav-menu { margin: 0 40px; padding: 40px 0 30px; border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
.header-common-nav .g-nav-menu .trip-season-title { display: block; margin: 0 0 24px; font-size: 1.8rem; line-height: 1.66667; font-weight: 700; text-align: center; color: #fff; }
@media (min-width: 48em) { .header-common-nav .g-nav-menu .trip-season-title { font-size: 1rem; line-height: 1.6; } }
.header-common-nav .g-nav-menu .trip-season-title i { display: block; font-size: 24px; }
@media (min-width: 62em) { .header-common-nav .g-nav-menu .trip-season-title i { font-size: 28px; } }
.header-common-nav .g-nav-menu .trip-season-list { font-size: 1.6rem; line-height: 1.75; font-weight: 700; text-align: center; color: #fff; }
@media (min-width: 48em) { .header-common-nav .g-nav-menu .trip-season-list { font-size: 0.9rem; line-height: 1.66667; } }
@media (min-width: 62em) { .header-common-nav .g-nav-menu .trip-season-list { display: flex; flex-wrap: wrap; justify-content: center; } }
.header-common-nav .g-nav-menu .trip-season-list li { margin: 10px; }
@media (min-width: 62em) { .header-common-nav .g-nav-menu .trip-season-list li { width: calc( 33.333333% - 20px); } }
.header-common-nav .g-nav-menu .trip-season-list a { display: block; padding: 16px; background-color: #F5EA2A; border-radius: 60px; color: #00326C; }
.header-common-nav .g-nav-submenu { margin: 0 40px; padding: 30px 0 10px; }
@media (min-width: 62em) { .header-common-nav .g-nav-submenu { display: flex; flex-wrap: wrap; justify-content: center; } }
.header-common-nav .g-nav-submenu li { padding: 0; margin: 10px; }
.header-common-nav .g-nav-submenu li.contact a { padding: 0 0 0 26px; }
.header-common-nav .g-nav-submenu li.contact a::before { content: '\f0e0'; font-weight: 300; }
.header-common-nav .g-nav-submenu a { position: relative; display: inline-block; padding: 0 0 0 16px; color: #fff; text-decoration: underline; }
.header-common-nav .g-nav-submenu a::before { content: '\f0da'; font-family: "Font Awesome 5 Pro"; position: absolute; top: 6px; left: 0; font-size: 16px; line-height: 1; font-weight: 700; }
.header-common-nav .g-nav-sns { display: flex; justify-content: center; margin: 0 40px; padding: 0 0 40px; }
.header-common-nav .g-nav-sns li { margin: 4px; font-size: 20px; line-height: 1; }
.header-common-nav .g-nav-sns a { position: relative; display: flex; justify-content: center; align-items: center; padding: 0; background-color: #fff; width: 40px; height: 40px; border-radius: 40px; color: #00326C; }

.footer-common-banner { position: relative; padding: 3.0rem; background-color: #fff; border-top: 1px solid #eee; text-align: center; }
.footer-common-banner .title { margin: 0 0 1.6rem; font-size: 1.6rem; line-height: 1.75; font-weight: 700; color: #111; text-align: center; }
@media (min-width: 48em) { .footer-common-banner .title { font-size: 0.9rem; line-height: 1.66667; } }
.footer-common-banner .banner { margin: 0 auto; padding: 0; list-style: none; text-align: center; font-size: 0; }
.footer-common-banner .banner:nth-last-child(-n + 1) { margin-bottom: 0; }
@media (min-width: 62em) { .footer-common-banner .banner { max-width: 1280px; } }
.footer-common-banner .banner li { display: inline-block; margin: 0; padding: 10px; vertical-align: top; text-align: center; }
.footer-common-banner .banner img { display: block; border: 1px solid #ddd; }
.footer-common-banner .banner a { display: block; }
.footer-common-info { position: relative; padding: 3.0rem; background-image: url("../sunmoonlake/img/bg/bg_footer.png"); background-position: center center; background-repeat: no-repeat; background-size: cover; }
.footer-common-info::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; background-color: rgba(226, 251, 255, 0.37); }
.footer-common-info-container { margin: auto; max-width: 1480px; }
@media (min-width: 62em) { .footer-common-info-container { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; } }
.footer-common-info-container .text { margin: 0 0 2.4rem; }
@media (min-width: 62em) { .footer-common-info-container .text { margin: 0; } }
.footer-common-info-container .text .title { margin: 0 0 16px; font-size: 1.2rem; line-height: 2; font-weight: 700; color: #111; text-align: center; }
@media (min-width: 48em) { .footer-common-info-container .text .title { font-size: 0.7rem; line-height: 1.85714; } }
.footer-common-info-container .text .title a { display: block; color: #111; }
.footer-common-info-container .text .title svg { margin: 0; width: 260px; height: 48px; }
.footer-common-info-container .text .title span { display: block; }
.footer-common-info-container .text p:nth-last-child(-n + 1) { margin: 0; }
.footer-common-info-container .link { margin: 0; padding: 0; list-style: none; text-align: center; font-size: 1.4rem; line-height: 1.85714; font-weight: 700; text-align: center; }
@media (min-width: 48em) { .footer-common-info-container .link { display: flex; flex-wrap: wrap; flex: 1; justify-content: flex-end; padding: 0 0 0 40px; font-size: 0.7rem; } }
.footer-common-info-container .link li { margin: 0; padding: 5px; }
@media (min-width: 48em) { .footer-common-info-container .link li { width: 33.333333333%; } }
@media (min-width: 62em) { .footer-common-info-container .link li { width: auto; } }
.footer-common-info-container .link a, .footer-common-info-container .link span { display: block; margin: auto; padding: 10px; background-color: #F5EA2A; border-radius: 80px; color: #00326C; max-width: 300px; }
@media (min-width: 62em) { .footer-common-info-container .link a, .footer-common-info-container .link span { width: 280px; } }
.footer-common-info-container .link span { background-color: #A9A9A9; color: #fff; }
.footer-common-info-container .sns { display: flex; justify-content: center; margin: 0; padding: 0; list-style: none; }
.footer-common-info-container .sns li { margin: 4px; font-size: 20px; line-height: 1; }
.footer-common-info-container .sns a { position: relative; display: flex; justify-content: center; align-items: center; padding: 0; background-color: #fff; width: 40px; height: 40px; border-radius: 40px; color: #00326C; }
.footer-common-sitemap { position: relative; padding: 1.8rem 3.0rem; background-color: #00326C; color: #fff; }
.footer-common-sitemap-container { margin: auto; max-width: 1480px; }
@media (min-width: 62em) { .footer-common-sitemap-container { display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; } }
.footer-common-sitemap-container .sitemap { margin: 2.0rem 0; }
@media (min-width: 62em) { .footer-common-sitemap-container .sitemap { margin: 0; } }
.footer-common-sitemap-container .sitemap ul { display: flex; flex-wrap: wrap; justify-content: center; margin: 0; padding: 0; list-style: none; }
.footer-common-sitemap-container .sitemap li { position: relative; margin: 0; font-size: 1.4rem; line-height: 1.85714; color: #fff; }
@media (min-width: 48em) { .footer-common-sitemap-container .sitemap li { font-size: 0.7rem; } }
.footer-common-sitemap-container .sitemap li::after { content: '｜'; }
.footer-common-sitemap-container .sitemap li:nth-last-child(-n + 1)::after { display: none; }
.footer-common-sitemap-container .sitemap a { color: #fff; text-decoration: underline; }
.footer-common-sitemap-container .copy { margin: 2.0rem 0; text-align: center; }
@media (min-width: 62em) { .footer-common-sitemap-container .copy { margin: 0; } }
.footer-common-sitemap-container .copy p { font-size: 1.2rem; line-height: 2; }
@media (min-width: 48em) { .footer-common-sitemap-container .copy p { font-size: 0.6rem; } }
.footer-common-sitemap-container .copy p:nth-last-child(-n + 1) { margin: 0; }

/*# sourceMappingURL=style.css.map */
