@charset "utf-8";
/*
	Description: initial setting
	Version: 1.0
	Author: idealgrow
*/
/*
===== CONTENTS ===========================================
*/
/** shared **/
.baseTit {
    text-align: center;
    font-weight: bold;
    font-size: 26px;
    padding: 30px 20px;
}
.baseTit span {
    display: block;
    font-size: 12px;
    font-weight: normal;
    line-height: 1;
}
.subTit01 {
    text-align: center;
    padding: 0 20px;
    font-size: 26px;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
}
.subTit01 span {
    color: #14b1c2;
}
.subTit01.selectPlan:after {
    content: "";
    position: absolute;
    background: url("../img/shared/tit_selectplan.png")left top no-repeat;
    background-size: 81px 48px;
    width: 81px;
    height: 48px;
    top: -20px;
    right: 0;
}
.subTit02 {
    font-size: 26px;
    text-align: center;
    position: relative;
}
.subTit02:before {
    font-family: 'icf' !important;
    speak: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -50px;
    font-size: 30px;
}
.subTit02.icoColumn:before {
    content: "\e901";
}
.subTit02.icoGraph:before {
    content: "\e906";
}
.subTit02 span:before {
    content: "";
    background: url("../img/shared/ico_leader01.png")left center no-repeat;
    background-size: 24px 3px;
    width: 24px;
    height: 3px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}
.subTit02 span:after {
    content: "";
    background: url("../img/shared/ico_leader01.png")left center no-repeat;
    background-size: 24px 3px;
    width: 24px;
    height: 3px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
}
.eng {
    text-align: center;
    font-size: 10px;
    margin-bottom: 20px;
}
.asideTit {
    position: relative;
    top: -35px;
    font-size: 26px;
    font-weight: bold;
    line-height: 1.2;
    padding-left: 50px;
    margin-bottom: -10px;
    text-align: left;
}
.asideTit:before {
    font-family: 'icf' !important;
    speak: none;
    content: "\e900";
    font-size: 50px;
    position: absolute;
    top: 40%;
    left: 0;
    transform: translateY(-50%) rotate(20deg);
}
.asideTit span {
    font-size: 14px;
    font-weight: normal;
    display: block;
}
aside ul {
    display: flex;
    flex-wrap: wrap;
}
aside ul li {
    background: url("../img/shared/bg_top_other.png") left top;
    position: relative;
    text-align: center;
    padding: 5px;
    width: 47%;
    margin-right: 6%;
    margin-bottom: 20px;
    transition: all .3s ease;
}
aside ul li:first-of-type {
    width: 100%;
    background: none;
}
aside ul li:first-of-type p {
    text-align: left;
    font-size: 14px;
    padding: 0;
}
aside ul li:first-of-type:before, aside ul li:first-of-type:after {
    display: none;
}
aside ul li:nth-of-type(odd) {
    margin-right: 0;
}
aside ul li p {
    font-size: 12px;
    padding: 0 10px 10px 10px;
}
aside ul li a {
    display: block;
}
aside ul li:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 10px;
    height: 10px;
    border-left: solid 1px #000;
    border-bottom: solid 1px #000;
}
aside ul li:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 10px;
    height: 10px;
    border-right: solid 1px #000;
    border-bottom: solid 1px #000;
}
aside ul li a:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 10px;
    height: 10px;
    border-left: solid 1px #000;
    border-top: solid 1px #000;
}
aside ul li a:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 10px;
    height: 10px;
    border-right: solid 1px #000;
    border-top: solid 1px #000;
}
aside ul li h4 {
    font-weight: bold;
    font-size: 15px;
    padding: 20px 0;
}
section {
    padding: 80px 20px 20px 20px;
}
section#company {
    padding: 20px;
}
section.sectionPad02 {
    padding: 40px 0 20px 0;
}
section.sectionPad03 {
    padding: 60px 20px 80px 20px;
}
section.sectionUnder {
    padding: 60px 20px 40px 20px;
    border-bottom: solid 1px #ccc;
}
section.sectionColumn {
    padding: 0 20px 20px 20px;
}
section#sitemap {
    padding: 20px;
}
section#stationColumn, section#routeColumn, section#memberColumn, section#optionColumn, section#suportColumn, section#faqColumn, section#boartColumn, section#foodColumn, section#reportColumn,section#stationTop {
    padding: 20px 0;
}
section#foodColumnOt {
    padding: 20px;
    background: url("../img/food/food_bg.avif")left top;
    background-size: 375px 115px;
    margin-bottom: 20px;
}
section.planInfopad, section.titArea, section.kiyaku {
    padding: 0;
}
section.formPad {
    padding: 0 20px 20px 20px;
}
section#searcModule {
    padding: 0;
}
section#busColumn, section#otherFood {
    padding: 20px;
}
section#bookingTit {
    background: url("../img/booking/tit_img.jpg") center center no-repeat;
    background-size: auto 100%;
    height: 140px;
    padding: 0;
    position: relative;
    margin-bottom: 60px;
}
section#bookingTit:after {
    content: "";
    background: url("../img/shared/line_split_smt.png") center center no-repeat;
    background-size: auto 5px;
    height: 5px;
    width: 100%;
    position: absolute;
    bottom: -30px;
    left: 0;
}
section#bookingTit h1 {
    text-align: center;
    color: #fff;
    font-weight: bold;
    font-size: 28px;
    width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    line-height: 1.4;
}
section#bookingTit h1 span {
    display: inline-block;
    padding: 3px 50px;
    color: #000;
    font-size: 12px;
    background: #fff;
    margin: 0 auto;
}
section#telModule {
    padding: 20px;
    text-align: center;
    margin-bottom: 40px;
}
section#telModule p {
    font-size: 16px;
    color: #009FB9;
    line-height: 1.2;
}
section#telModule p:last-of-type {
    font-size: 16px;
}
section#telModule address {
    font-style: normal;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.2;
}
section#telModule address a {
    color: #009FB9;
}
section.finishStep {
    padding: 20px;
}
.meshBox {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 20px 20px 0 20px;
}
.meshBox h2 {
    text-align: center;
    font-weight: bold;
    font-size: 26px;
    position: relative;
    padding-top: 30px;
    margin-bottom: 20px;
}
.meshBox h2:before {
    content: "";
    background: #fff;
    width: 60px;
    height: 60px;
    border-radius: 60px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -50px;
}
.meshBox h2:after {
    font-family: 'icf' !important;
    speak: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -40px;
}
.meshBox h2 span:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -5px;
}
.meshBox h2.icoBook span:before {
    background: url("../img/shared/tit_article.png")left top no-repeat;
    background-size: 100%;
    width: 87px;
    height: 31px;
}
.meshBox h2.icoBook:after {
    content: "\e902";
}
.baseBtn {
    border: solid 1px #000;
    border-radius: 3px;
    box-shadow: 2px 3.464px 0px 0px rgba(0, 0, 0, 1.0);
    width: 100%;
    display: block;
    background: #fff;
    text-align: center;
    padding: 12px 20px 12px 5px;
    position: relative;
}
.baseBtn:after {
    font-family: 'icf' !important;
    speak: none;
    content: "\e91b";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
}
/** top **/
.selectPlanTxt {
    margin-bottom: 40px;
}
#selectPlanList {
    width: 100vw;
    margin-left: -20px;
}
#selectPlanList li {
    position: relative;
    height: 260px;
    margin-bottom: 40px;
}
#selectPlanList li .img:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 80%;
    height: 100%;
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 70%);
}
#selectPlanList li:nth-of-type(2) .img:after, #selectPlanList li:nth-of-type(4) .img:after, #selectPlanList li:nth-of-type(5) .img:after {
    right: 0;
    left: 0;
    background: rgb(255, 255, 255);
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 70%);
}
#selectPlanList li img {
    width: auto;
    height: 260px;
    position: absolute;
}
#selectPlanList li .box {
    background: rgba(255, 255, 255, 0.86);
    position: absolute;
    width: 75%;
    top: 50%;
    transform: translateY(-50%);
    padding: 20px;
    right: 0;
}
#selectPlanList li:nth-of-type(2) .box, #selectPlanList li:nth-of-type(4) .box, #selectPlanList li:nth-of-type(5) .box {
    right: auto;
    left: 0;
}
#selectPlanList li h3 {
    font-size: 20px;
    font-weight: bold;
    display: inline;
    padding-bottom: 3px;
    border-bottom: solid 2px #000;
}
#selectPlanList li h3 span {
    color: #14b1c2;
}
#selectPlanList li p {
    padding: 10px 0;
}
#selectPlanList li p.price {
    position: absolute;
    right: -80px;
    top: 18px;
    background: #000;
    border-radius: 3px;
    color: #fff;
    padding: 10px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
}
#selectPlanList li p.price span {
    font-size: 10px;
    margin-right: 5px;
    font-weight: normal;
}
.featureList {
    display: flex;
    flex-wrap: wrap;
    counter-reset: number;
}
.featureList li {
    width: 47%;
    margin-right: 6%;
    border: solid 1px #000;
    padding: 2px;
    position: relative;
    margin-bottom: 20px;
}
.featureList li:nth-of-type(even) {
    margin-right: 0;
}
.featureList li figure {
    border: solid 1px #000;
    border-bottom: none;
    position: relative;
}
.featureList li figure img {
    width: 100%;
    height: auto;
}
.featureList li p.tit {
    position: relative;
    background: #fff;
    text-align: center;
    padding: 3px;
    border-left: solid 1px #000;
    border-right: solid 1px #000;
}
.featureList li p.txt {
    background: #fff;
    padding: 10px;
    font-size: 14px;
    border: solid 1px #000;
    border-top: none;
}
.featureList li p.tit span {
    position: relative;
    z-index: 3;
}
.featureList li p.tit:before {
    content: "";
    background: #fff;
    width: 40px;
    height: 40px;
    border-radius: 30px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -18px;
}
.featureList li p.tit:after {
    font-family: hwt-republic-gothic-solid, sans-serif;
    counter-increment: number;
    content: counter(number, decimal-leading-zero);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -18px;
}
.inner.topColumn .columnList {
    border-top: dotted 1px #d0d0d0;
    margin-top: 20px;
}
.inner.topColumn .columnList li a {
    display: block;
    padding: 15px 10px 15px 18px;
    border-bottom: solid 1px #d0d0d0;
    position: relative;
}
.inner.topColumn .columnList li a span {
    display: block;
    font-weight: bold;
    line-height: 1.2;
}
.inner.topColumn .columnList li a span:before {
    font-family: 'icf' !important;
    speak: none;
    content: "\e91a";
    font-size: 10px;
    position: absolute;
    left: 0;
    top: 18px;
}
/** result **/
.result {
    display: flex;
    padding: 0 20px;
    margin-bottom: 40px;
}
.result p {
    width: 90%;
    color: #ec3286;
}
.result select {
    width: 80%;
}
.result p span {
    font-size: 24px;
    font-weight: bold;
}
#resultList article.presents {
    border-top: dotted 4px #ec3286;
    border-bottom: dotted 4px #ec3286;
}
#resultList article.presents .planNo {
    background: #fff;
    color: #ec3286;
    border-bottom: solid 2px #ec3286;
}
#resultList article.presents:before {
    content: "";
    background: url("../img/shared/txt_presents.svg") center center no-repeat, #ec3286;
    background-size: 180px auto, 100%;
    color: #fff;
    width: 100%;
    display: block;
    text-align: center;
    margin: 10px 0 0 0;
    border-radius: 3px;
    height: 30px;
}
#resultList article {
    background: url("../img/shared/bg_result.png");
    background-size: 5px;
    padding: 20px;
    position: relative;
    margin-bottom: 60px;
}
#resultList article:after {
    content: "";
    background: url("../img/shared/line_split_smt.png") center center no-repeat;
    background-size: auto 5px;
    height: 5px;
    width: 100%;
    position: absolute;
    bottom: -30px;
    left: 0;
}
#resultList article:last-of-type {
    margin-bottom: 0;
}
#resultList article:last-of-type:after {
    display: none;
}
#resultList article .planNo {
    position: absolute;
    left: 20px;
    top: -14px;
    font-weight: bold;
    border-bottom: solid 2px #000;
}
#resultList article .ship {
    position: absolute;
    right: 0;
    top: -10px;
    background: #fff;
    padding: 0 20px 5px 10px;
    font-size: 13px;
}
#resultList article .ship span {
    background: #000;
    color: #fff;
    padding: 0 10px;
    border-radius: 3px;
    margin-left: 5px;
    font-size: 14px;
    display: inline-block;
}
#resultList article .food {
    display: flex;
    padding-top: 10px;
    margin-bottom: 20px;
}
#resultList article .food li {
    margin-right: 2%;
    background: #a0a0a0;
    color: #fff;
    border-radius: 3px;
    font-size: 14px;
    width: 23.5%;
    text-align: center;
}
#resultList article .food li:last-of-type {
    margin-right: 0;
}
#resultList article h2 {
    font-weight: bold;
    font-size: 22px;
    line-height: 1.6;
    margin-bottom: 20px;
}
#resultList article figure, #resultList article .planTxt, .planInfo .planPrice figure {
    margin-bottom: 20px;
}
#resultList article figure img, .planInfo .planPrice img {
    width: 100%;
    height: auto;
}
#resultList article .priceList {
    display: flex;
    flex-wrap: wrap;
    border: solid 1px #000;
    border-radius: 3px;
    padding: 15px 0;
    position: relative;
    margin-bottom: 20px;
}
#resultList article .priceList:before {
    content: "Price";
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
    z-index: 2;
}
#resultList article .priceList:after {
    content: "";
    height: 1px;
    width: 20%;
    background: #fff;
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
}
#resultList article .priceList li {
    width: 49%;
    margin-right: 2%;
    text-align: center;
    position: relative;
    font-weight: bold;
    line-height: 1.4;
}
#resultList article .priceList li:nth-of-type(odd):after {
    content: "";
    position: absolute;
    height: 100%;
    top: 0;
    right: -2%;
    width: 1px;
    background: #000;
}
#resultList article .priceList li:nth-of-type(even) {
    margin-right: 0;
}
#resultList article .priceList li .tax {
    font-size: 10px;
}
#resultList article .priceList li .price {
    font-size: 24px;
}
#resultList article .priceList li:nth-of-type(2) ~ li {
    margin-top: 20px;
}
#resultList article .priceList li:nth-of-type(2) ~ li:before {
    content: "";
    background: #000;
    position: absolute;
    top: -10px;
    left: 5%;
    width: 90%;
    height: 1px;
}
#resultList article .infoBtn a {
    display: block;
    padding: 14px 20px;
    text-align: center;
    color: #fff;
    border: solid 1px #b01259;
    border-radius: 3px;
    background-color: rgb(236, 50, 134);
    box-shadow: 2px 3px 0px 0px rgba(133, 10, 66, 0.4);
}
#resultList article .review {
    margin-top: 30px;
    position: relative;
    background: #fff;
    padding: 20px 15px 15px 15px;
    font-size: 14px;
}
#resultList article .review:before {
    border-left: solid 1px #000;
    border-top: solid 1px #000;
    width: 15px;
    height: 15px;
    position: absolute;
    content: "";
    left: -1px;
    top: -1px;
}
#resultList article .review:after {
    border-right: solid 1px #000;
    border-bottom: solid 1px #000;
    width: 15px;
    height: 15px;
    position: absolute;
    content: "";
    right: -1px;
    bottom: -1px;
}
#resultList article .review span {
    display: block;
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}
#resultList article .review span span {
    position: static;
    display: inline-block;
    font-size: 22px;
    width: auto;
    color: #14b1c2;
    font-weight: bold;
    margin: 0 3px;
}
/** planInfo **/
.planInfo {
    position: relative;
    padding: 50px 0 0 0;
}
.planInfo .planNo {
    position: absolute;
    left: 20px;
    top: 20px;
    font-weight: bold;
    border-bottom: solid 2px #000;
}
.planInfo .ship {
    position: absolute;
    right: 0;
    top: 22px;
    background: #fff;
    padding: 0 20px 5px 10px;
}
.planInfo .ship span {
    background: #000;
    color: #fff;
    padding: 0 10px;
    border-radius: 3px;
    margin-left: 5px;
    font-size: 14px;
    display: inline-block;
}
.planInfo .food {
    display: flex;
    padding: 0 20px;
    margin-bottom: 20px;
}
.planInfo .food li {
    margin-right: 2%;
    background: #a0a0a0;
    color: #fff;
    border-radius: 3px;
    font-size: 14px;
    width: 23.5%;
    text-align: center;
}
.planInfo .food li:last-of-type {
    margin-right: 0;
}
.planInfo .planPrice {
    background: url("../img/shared/bg_result.png");
    background-size: 5px;
    padding: 20px;
    position: relative;
    margin-bottom: 10px;
}
.planInfo .planPrice:before {
    content: "";
    background: url("../img/shared/line_split_smt.png") center center no-repeat;
    background-size: auto 5px;
    height: 5px;
    width: 100%;
    position: absolute;
    bottom: -20px;
    left: 0;
}
.planInfo .planPrice .priceList {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    border: solid 1px #000;
    border-radius: 3px;
    padding: 15px;
    position: relative;
    background: #fff;
}
.planInfo .planPrice .priceList:before {
    content: "Price";
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
    z-index: 2;
    font-size: 20px;
}
.planInfo .planPrice .priceList:after {
    content: "";
    height: 1px;
    width: 20%;
    background: #fff;
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
}
.planInfo .planPrice .priceList dt {
    width: 65%;
    font-weight: bold;
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    padding: 5px 10px;
}
.planInfo .planPrice .priceList dt:nth-of-type(odd), .planInfo .planPrice .priceList dd:nth-of-type(odd) {
    background: #f3f3f3;
}
.planInfo .planPrice .priceList dt:first-of-type {
    font-size: 18px;
}
.planInfo .planPrice .priceList dt span {
    font-size: 14px;
    font-weight: normal;
}
.planInfo .planPrice .priceList dd {
    width: 35%;
    font-weight: bold;
    font-size: 18px;
    align-items: center;
    justify-content: flex-end;
    display: flex;
    padding: 5px 10px;
}
.planInfo .planPrice .priceList dd:first-of-type span {
    font-size: 24px;
}
.planInfo .planPrice .priceList dd span {
    font-size: 20px;
}
.planInfo .planDetails {
    padding: 20px;
    position: relative;
}
.planInfo .planDetails:after {
    content: "";
    background: url("../img/shared/line_split_smt.png") center center no-repeat;
    background-size: auto 5px;
    height: 5px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}
.planInfo .planDetails li {
    border-bottom: dotted 1px #bbb;
    padding: 10px 0 10px 50px;
    position: relative;
}
.planInfo .planDetails li:last-of-type {
    border-bottom: none;
}
.planInfo .planDetails li:before {
    content: "";
    width: 40px;
    height: 40px;
    border-radius: 3px;
    background: #000;
    position: absolute;
    left: 0;
    top: 15px;
}
.planInfo .planDetails li:after {
    font-family: 'icf' !important;
    speak: none;
    color: #fff;
    width: 40px;
    text-align: center;
    position: absolute;
    left: 0;
    top: 14px;
    font-size: 24px;
}
.planInfo .planDetails li:nth-of-type(1):after {
    content: "\e912";
}
.planInfo .planDetails li:nth-of-type(2):after {
    content: "\e911";
}
.planInfo .planDetails li:nth-of-type(3):after {
    content: "\e910";
}
.planInfo .planDetails li:nth-of-type(4):after {
    content: "\e90f";
}
.planInfo .planDetails li:nth-of-type(5):after {
    content: "\e90e";
}
.planInfo .planDetails li:nth-of-type(6):after {
    content: "\e90d";
}
.planInfo .planDetails li:nth-of-type(7):after, .planInfo .planDetails li:nth-of-type(8):after {
    content: "\e90c";
}
.planInfo .planDetails li h2 {
    font-size: 14px;
    color: #878787;
}
.planInfo .planDetails li p {
    font-size: 18px;
    font-weight: bold;
}
.planInfo .planDetails li p a {
    color: #009FB9;
}
.planInfo .planDetails li p span {
    font-size: 14px;
}
.planInfo .planDetails li figure {
    margin-top: 20px;
}
.planInfo .planDetails li figure img {
    width: 100%;
    height: auto;
}
.planInfo .planDetails li figure figcaption {
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0;
}
.planInfo .planDetails li figure p {
    font-size: 14px;
    font-weight: normal;
}
#btnStatic {
    padding: 20px;
    position: relative;
    margin-bottom: 40px;
}
#btnStatic:after {
    content: "";
    background: url("../img/shared/line_split_smt.png") center center no-repeat;
    background-size: auto 5px;
    height: 5px;
    width: 100%;
    position: absolute;
    bottom: -10px;
    left: 0;
}
.planSubmit {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    padding: 10px;
    background: #fff;
    border-top: solid 1px #bbb;
}
.planSubmit.static {
    position: static;
    border-top: none;
    padding: 0;
}
.planSubmit a {
    font-size: 18px;
    display: block;
    padding: 14px 20px;
    text-align: center;
    color: #fff;
    border: solid 1px #b01259;
    border-radius: 3px;
    background-color: rgb(236, 50, 134);
    box-shadow: 2px 3px 0px 0px rgba(133, 10, 66, 0.4);
}
.planSubmit a span {
    display: block;
    font-size: 14px;
}
.userVoice h2 {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
}
.userVoice div {
    counter-increment: number 1;
    background: #f1f1f1;
    padding: 30px 20px 20px 20px;
    position: relative;
    margin-bottom: 40px;
}
.userVoice div:last-of-type {
    margin-bottom: 0;
}
.userVoice div:before {
    font-family: hwt-republic-gothic-solid, sans-serif;
    content: "USER VOICE "counter(number, decimal-leading-zero);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -15px;
    font-size: 18px;
}
.userVoice div dt {
    background: #404040;
    color: #fff;
    padding: 5px 10px 5px 30px;
    position: relative;
    font-size: 16px;
    font-weight: normal;
}
.userVoice div dt:before {
    content: "Q";
    position: absolute;
    left: 10px;
    font-size: 20px;
    top: 0;
}
.userVoice div dd {
    background: #fff;
    margin-bottom: 10px;
    padding: 10px;
}
.userVoice .ph {
    position: relative;
    height: 50vh;
    margin-bottom: 20px;
    overflow: hidden;
    border: solid 1px #fff;
    background: #fff;
    cursor: pointer;
}
.userVoice .ph img {
    width: 120%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.userVoice p:not(:first-of-type) {
    padding-top: 20px;
}
.userVoice p:not(:first-of-type) span {
    display: block;
    background: #009fb9;
    text-align: center;
    padding: 3px 0;
    font-size: 14px;
    margin-bottom: 5px;
    color: #fff;
    font-weight: bold;
}
/** form **/
.formPad .inputList dt {
    color: #868686;
    font-weight: bold;
    position: relative;
}
.formPad .inputList.survey dt {
    padding-right: 70px;
}
.formPad .inputList.survey dt span.req {
    position: absolute;
    right: 0;
    top: 0;
    width: 60px;
    text-align: center;
}
.formPad .inputList.survey dd .checkBox li {
    margin-bottom: 10px;
}
.formPad .inputList.survey dd .checkBox li:last-of-type {
    margin-bottom: 0;
}
.formPad .inputList.survey dd .red {
    display: block;
    font-weight: normal;
    font-size: 14px;
    color: #f00;
}
.formPad .inputList.survey dd .ph img {
    width: 100%;
    height: auto;
}
.formPad .surveyTit {
    font-size: 20px;
    margin-bottom: 20px;
}
.formPad .inputList dt span.tit {
    border-bottom: solid 2px #868686;
    padding-bottom: 3px;
}
.formPad .inputList dt span.req {
    background: #ff0000;
    color: #fff;
    font-size: 14px;
    padding: 3px 10px;
    margin-left: 10px;
}
.formPad .inputList dd {
    padding: 20px 0;
    border-bottom: dotted 1px #bbb;
    margin-bottom: 20px;
    font-weight: bold;
}
.formPad .inputList dd .subAttent {
    font-size: 14px;
    padding-top: 10px;
    color: #868686;
}
.formPad .inputList dd:last-of-type {
    border-bottom: none;
    margin-bottom: 40px;
}
.formPad .inputList dd .attent {
    color: #f00;
    font-size: 14px;
}
.formPad .inputList dd .place li {
    margin-bottom: 20px;
}
.formPad .inputList dd .place li:last-of-type {
    margin-bottom: 0;
}
.formPad .inputList dd .place li span {
    font-weight: bold;
    font-size: 14px;
}
.formPad .inputList.conf dd .place li span {
    margin-right: 10px;
}
.formPad .inputList dd .passenger {
    display: flex;
    flex-wrap: wrap;
}
.formPad .inputList dd .passenger dt {
    width: 60%;
    display: flex;
    align-items: center;
    padding: 10px 0;
}
.formPad .inputList dd .passenger dd {
    width: 40%;
    padding: 10px 0;
    margin-bottom: 0;
    border-bottom: none;
}
.formPad .inputList.conf dd .passenger {
    justify-content: center;
}
.formPad .inputList.conf dd .passenger dt {
    width: auto;
    padding: 0;
}
.formPad .inputList.conf dd .passenger dd {
    width: auto;
    padding: 0 5px;
    border-right: solid 1px #bbb;
    margin-right: 5px;
}
.formPad .inputList.conf dd .passenger dd:last-of-type {
    border-right: none;
    margin-right: 0;
}
.formBtn {
    position: relative;
}
.formBtn:before {
    content: "";
    background: url("../img/shared/line_split_smt.png") center center no-repeat;
    background-size: auto 4.8px;
    height: 5px;
    width: 100%;
    position: absolute;
    top: -30px;
    left: 0;
}
.formBtn:after {
    content: "";
    background: url("../img/shared/line_split_smt.png") center center no-repeat;
    background-size: auto 4.8px;
    height: 5px;
    width: 100%;
    position: absolute;
    bottom: -30px;
    left: 0;
}
.formBtn li:first-of-type {
    margin-bottom: 20px;
}
.formBtn li:first-of-type input, input.baseSubmit {
    background: #ec3286;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    width: 100%;
    border: none;
    border-bottom: solid 2px #bf7496;
    border-radius: 3px;
    padding: 15px 10px 15px 10px;
    cursor: pointer;
    transition: all .3s ease;
}
.formBtn li input, input.backBtn {
    background: #d3d3d3;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    width: 100%;
    border: none;
    border-bottom: solid 2px #a5a5a5;
    border-radius: 3px;
    padding: 5px 10px 5px 10px;
    cursor: pointer;
    transition: all .3s ease;
}
.amount {
    position: relative;
    padding-bottom: 40px;
}
.amount.conf {
    margin-top: 60px;
}
.amount.conf:before {
    content: "";
    background: url("../img/shared/line_split_smt.png") center center no-repeat;
    background-size: auto 4.8px;
    height: 5px;
    width: 100%;
    position: absolute;
    top: -30px;
    left: 0;
}
.amount h2 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    padding: 0 10px;
    top: -50px;
    text-align: center;
    font-size: 20px;
}
.amount h3 {
    background: #e9e9e9;
    text-align: center;
    font-size: 16px;
}
.amount .subTotal {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
.amount .subTotal dt {
    width: 60%;
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-bottom: dotted 1px #bbb;
}
.amount .subTotal dd {
    width: 40%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-weight: bold;
    padding: 15px 0;
    border-bottom: dotted 1px #bbb;
}
.amount .subTotal dd span {
    font-size: 22px;
}
.amount h3.total {
    background: #ec3286;
    color: #fff;
}
.amount p.total {
    text-align: right;
    color: #ec3286;
    font-weight: bold;
    border-bottom: dotted 1px #bbb;
    margin-bottom: 40px;
    padding: 15px 0;
}
.amount p.total span {
    font-size: 30px;
}
.amount h4 {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 20px;
}
.userConf {
    position: relative;
    padding-top: 30px;
}
.userConf:before {
    content: "";
    background: url("../img/shared/line_split_smt.png") center center no-repeat;
    background-size: auto 4.8px;
    height: 5px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.userConf h2 {
    position: absolute;
    font-size: 20px;
    left: 50%;
    transform: translateX(-50%);
    top: -15px;
    background: #fff;
    padding: 0 10px;
}
.kiyaku {
    margin-top: 30px;
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 20px !important;
}
.kiyaku .inner div {
    background: #fff;
    padding: 10px;
    margin-bottom: 20px;
}
.kiyaku .inner div:last-of-type {
    margin-bottom: 0;
}
.kiyaku h3 {
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: bold;
}
.kiyaku p {
    font-size: 14px;
}
.kiyaku .inner div a {
    color: #009FB9;
}
.finishStep div {
    border: solid 4px #ec3286;
    padding: 10px;
}
.finishStep div p {
    font-weight: bold;
    margin-bottom: 10px;
}
.finishStep div p span {
    color: #ec3286;
}
.finishStep ul {
    margin-bottom: 20px;
}
.finishStep li {
    margin-bottom: 10px;
}
.finishStep li input.baseCheck:checked + label {
    background: #fff;
    color: #ec3286;
    border: solid 2px #ec3286;
}
.finishStep li input.baseCheck:checked + label::before {
    background: #ec3286;
    border: solid 2px #ec3286;
}
.finishStep li input.baseCheck:checked + label::after {
    font-family: 'icf' !important;
    speak: none;
    content: "\e914";
    color: #fff;
    position: absolute;
    left: 10px;
    font-size: 12px;
    top: 50%;
    transform: translateY(-50%);
}
.finishStep input:disabled {
    opacity: 0.4;
}
section.formPad.finish h2 {
    border: solid 4px #e82a79;
    padding: 10px;
    color: #e82a79;
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0;
    text-align: center;
}
/**station**/
section#stationTit .imgTit {
    background: url("../img/station/tit_img.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#stationTit .imgTit.asakusa {
    background: url("../img/station/tit_asakusa.webp") center center no-repeat;
    background-size: cover;
	background-position: right center;
	height: 200px;
}
section#stationTit .imgTit.asakusabashi {
    background: url("../img/station/tit_asakusabashi.webp") center center no-repeat;
    background-size: cover;
	background-position: right center;
	height: 200px;
}
section#stationTit .imgTit.adumabashi {
    background: url("../img/station/tit_adumabashi.webp") center center no-repeat;
    background-size: cover;
	background-position: left center;
	height: 200px;
}
section#stationTit .imgTit.tokyoskytree {
    background: url("../img/station/tit_skytree.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.kuramae {
    background: url("../img/station/tit_kuramae.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.tsukishima {
    background: url("../img/station/tit_tsukishima.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.kachidoki {
    background: url("../img/station/tit_kachidoki.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.shinagawa {
    background: url("../img/station/tit_shinagawa.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.hamamatsucho {
    background: url("../img/station/tit_hamamatsucho.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.shinkiba {
    background: url("../img/station/tit_shinkiba.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.tokyoteleport {
    background: url("../img/station/tit_teleport.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.aomi {
    background: url("../img/station/tit_bigsite.webp") center center no-repeat;
    background-size: cover;
	background-position: right center;
	height: 200px;
}
section#stationTit .imgTit.hirai {
    background: url("../img/station/tit_hirai.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.ichinoe {
    background: url("../img/station/tit_ichinoe.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.etchujima {
    background: url("../img/station/tit_echujima.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.minamisuna {
    background: url("../img/station/tit_minamisuna.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.monzen {
    background: url("../img/station/tit_monzen.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.urayasu {
    background: url("../img/station/tit_urayasu.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.sakuragicho {
    background: url("../img/station/tit_sakuragicho.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit .imgTit.motomachi {
    background: url("../img/station/tit_motomachi.avif") center center no-repeat;
    background-size: 100% auto;
}
section#stationTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#stationTit h1 span {
    font-size: 12px;
    display: block;
}
section#stationColumn .stationSubTit,section#stationTop .stationSubTit {
    font-size: 20px;
    padding: 0 20px 10px 20px;
	font-weight: bold;
}
section p.pageTxt {
    margin-bottom: 40px;
    padding: 0 20px;
}
section#stationColumn .stationBlock {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 0 20px 20px 20px;
    margin-bottom: 40px;
}
.stationView{
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
}
.stationView .inner{
	padding: 20px 0;
}
section#stationColumn .stationBlock:last-of-type {
    margin-bottom: 0;
}
section#stationColumn .stationBlock h2 {
    position: relative;
    text-align: center;
    padding-top: 30px;
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: bold;
}
section#stationColumn .stationBlock h2 span {
    color: #14b1c2;
    font-size: 16px;
    font-family: hwt-republic-gothic-solid, sans-serif;
    position: absolute;
    display: block;
    font-weight: normal;
    left: 50%;
    top: -15px;
    transform: translateX(-50%);
    width: 100%
}
section#stationColumn .stationBlock li {
    background: #fff;
    border: solid 1px #ddd;
    padding: 10px;
    margin-bottom: 20px;
}
section#stationColumn .stationBlock li:last-of-type {
    margin-bottom: 0;
}
section#stationColumn .stationBlock li figure {
    margin-bottom: 10px;
}
section#stationColumn .stationBlock li img {
    width: 100%;
    height: auto;
    display: block;
}
section#stationColumn .stationBlock li a {
    text-align: left;
    padding: 12px 20px;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}
section#stationColumn #stationInfo h3.subTit03 {
    font-weight: bold;
    font-size: 20px;
    color: #00A0B8;
    margin-top: 20px;
    margin-bottom: 10px;
}
section#stationColumn #stationInfo p + h3.subTit03 {
    margin-top: 40px;
}
section#stationColumn .inner.noflex .smallPh {
    width: 100%;
    height: auto;
    border-radius: 5px;
    margin-bottom: 20px;
}
section#stationColumn .stationAddColumn {
    margin-top: 40px;
}
section#stationColumn .stationAddColumn h2 {
    font-weight: bold;
    color: #00A0B8;
    margin-bottom: 10px;
}
section#stationColumn .stationAddColumn h3 {
    font-weight: bold;
    margin: 20px 0 10px 0;
    font-size: 20px;
    position: relative;
    padding-left: 15px;
}
section#stationColumn .stationAddColumn h3:before {
    content: "";
    width: 10px;
    height: 10px;
    background: #000;
    position: absolute;
    left: 0;
    top: 13px;
    transform: rotate(45deg);
}
section#stationColumn #stationInfo {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 60px 20px 20px 20px;
    position: relative;
}
section#stationColumn #stationInfo:before {
    content: "";
    background: #fff;
    width: 60px;
    height: 60px;
    border-radius: 60px;
    position: absolute;
    left: 50%;
    top: -30px;
    transform: translateX(-50%);
}
section#stationColumn #stationInfo:after {
    content: "";
    background: url("../img/station/txt_hotspot.png") no-repeat;
    background-size: 52px 19px;
    width: 52px;
    height: 19px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 30px;
}
section#stationColumn #stationInfo h3.stationSubTit01 {
    text-align: center;
    font-size: 26px;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
}
section#stationColumn #stationInfo h3.stationSubTit01:before {
    font-family: 'icf' !important;
    speak: none;
    font-size: 50px;
    font-weight: normal;
    content: "\e916";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -100px;
}
section#stationTop .spotList{
	padding: 0 20px;
}
section#stationColumn #stationInfo li,section#stationTop .spotList li {
    border: solid 1px #ddd;
    padding: 10px;
    background: #fff;
    margin-bottom: 20px;
}
section#stationColumn #stationInfo figure,section#stationTop .spotList li figure {
    position: relative;
    margin-bottom: 40px;
}
section#stationColumn #stationInfo figure figcaption,section#stationTop .spotList li figure figcaption {
    background: #fff;
    position: absolute;
    bottom: -25px;
    padding: 10px 20px;
    font-size: 18px;
    font-weight: bold;
}
section#stationColumn #stationInfo figure img,section#stationTop .spotList li figure img {
    width: 100%;
    height: auto;
}
section#stationColumn #stationInfo .stationSubTit02 {
    color: #00a0b8;
    font-weight: bold;
    font-size: 24px;
    margin: 60px 0 20px 0;
}
section#stationColumn #stationInfo .stationSubTit02 span {
    display: block;
    position: relative;
    line-height: 1.2;
    font-size: 14px;
    padding-left: 35px;
    margin-bottom: 5px;
}
section#stationColumn #stationInfo .stationSubTit02 span:before {
    font-family: 'icf' !important;
    speak: none;
    content: "\e910";
    font-weight: normal;
    font-size: 30px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
section.sectionColumn li {
    border-bottom: solid 1px #ddd;
}
section.sectionColumn li a {
    display: block;
    padding: 10px 0;
}
section.sectionColumn li a span {
    color: #14b1c2;
    font-size: 14px;
    font-weight: bold;
    display: block;
    position: relative;
    padding-left: 20px;
}
section.sectionColumn li a span:before {
    content: "";
    background: #14b1c2;
    width: 15px;
    height: 15px;
    position: absolute;
    left: 0;
    top: 4px;
}
section.sectionColumn li a span:after {
    font-family: 'icf' !important;
    speak: none;
    content: "\e91a";
    color: #fff;
    position: absolute;
    left: 4px;
    top: 3px;
    font-size: 10px;
}
/**route**/
section#routeTit .imgTit {
    background: url("../img/route/tit_img.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#routeTit .txtTit {
    height: 140px;
    padding: 0;
    position: relative;
}
section#routeTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    font-weight: bold;
    transform: translateY(-50%);
    line-height: 1.4;
    padding: 0 20px;
}
section#routeTit h1 span {
    font-size: 12px;
    display: block;
}
section#routeTit .subTit {
    color: #00a0b8;
    font-size: 18px;
    font-weight: bold;
    padding: 0 20px 20px 20px;
}
section#routeTit .courseTxt {
    padding: 0 20px 20px 20px;
}
section#routeTit .courseTxt span {
    display: block;
    margin-top: 20px;
    font-size: 14px;
}
section#routeTit .courseMap img {
    width: 100%;
    height: auto;
}
#routeTop {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 60px 20px 20px 20px;
    position: relative;
}
#routeTop:before {
    content: "";
    background: #fff;
    width: 60px;
    height: 60px;
    border-radius: 60px;
    position: absolute;
    left: 50%;
    top: -30px;
    transform: translateX(-50%);
}
#routeTop:after {
    content: "";
    background: url("../img/route/txt_route.png") no-repeat;
    background-size: 63px 19px;
    width: 63px;
    height: 19px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 30px;
}
#routeTop h2 {
    text-align: center;
    font-size: 26px;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
}
#routeTop h2:before {
    font-family: 'icf' !important;
    speak: none;
    font-size: 45px;
    font-weight: normal;
    content: "\e917";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -100px;
}
#routeTop .routeList {
    position: relative;
    padding-top: 20px;
}
#routeTop .routeList:before {
    content: "";
    background: url("../img/shared/line_split_smt.png") center center no-repeat;
    background-size: auto 4.8px;
    height: 5px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
#routeTop .routeList .routeTxt {
    margin-bottom: 20px;
}
#routeTop .routeList .point {
    position: absolute;
    left: 50%;
    top: -10px;
    padding: 0 10px;
    transform: translateX(-50%);
    text-align: center;
}
#routeTop .routeList .point:before {
    position: absolute;
    content: "";
    width: 100%;
    background: #fbfbfb;
    height: 4px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -80%);
    z-index: -1;
}
#routeTop .routeList .point.longword {
    width: 92%;
}
#routeTop .routeList .tips {
    position: absolute;
    width: 70%;
    text-align: center;
    left: 50%;
    transform: translateX(-50%);
    font-size: 14px;
    font-weight: bold;
    color: #14b1c2;
    padding: 5px 10px;
    background: #fff;
    box-shadow: 2.5px 4.33px 1px 0px rgba(0, 0, 0, 0.2);
}
#routeTop .routeList .tips:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -7px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 7px 0 7px;
    border-color: #fff transparent transparent transparent;
}
#routeTop article {
    margin-bottom: 40px;
}
#routeTop article:last-of-type {
    margin-bottom: 0;
}
#routeTop .routeList h3 {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    padding-top: 45px;
    margin-bottom: 20px;
}
#routeTop .routeList h3 span {
    border-bottom: solid 2px #000;
    padding-bottom: 5px;
}
#routeTop .courseBox {
    border: solid 1px #000;
    padding: 20px;
}
#routeTop .courseBox h4 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}
#routeTop .courseBox h4 span {
    border-bottom: solid 2px #000;
    padding-bottom: 5px;
}
#routeTop .courseBox ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px;
}
#routeTop .courseBox ul li {
    font-size: 14px;
    color: #fff;
    background: #000;
    margin: 0 5px 5px 0;
    padding: 0 10px;
}
#routeTop .courseBox figure img {
    width: 100%;
    height: auto;
}
#routeTop .courseBox p {
    margin: 20px 0;
}
#stationColumn.routeIn {
    margin-top: 60px;
}
/**member**/
section#memberTit .imgTit {
    background: url("../img/member/tit_img.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#memberTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#memberTit h1 span {
    font-size: 12px;
    display: block;
}
section#memberTit .logoTit {
    height: 140px;
    padding: 0;
    position: relative;
}
section#memberTit h1 img {
    height: 80px;
    width: auto;
    margin: 0 auto;
}
.memberBlock, .shipType {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 40px 20px 20px 20px;
    position: relative;
    margin-bottom: 60px;
}
.memberBlock:last-of-type {
    margin-bottom: 0;
}
#memberColumn.place .boarding:last-of-type {
    margin-bottom: 0;
}
#memberColumn.place .boarding {
    margin-bottom: 60px;
}
.boarding {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 40px 20px 20px 20px;
    position: relative;
}
.memberBlock h2, .shipType h2, .boarding h2 {
    position: absolute;
    font-weight: bold;
    left: 0;
    top: -20px;
    width: 100%;
    text-align: center;
}
.memberBlock li {
    margin-bottom: 20px;
}
.memberBlock li:last-of-type {
    margin-bottom: 0;
}
.memberBlock li a {
    display: flex;
    border: solid 1px #000;
    border-radius: 3px;
    box-shadow: 2px 3.464px 0px 0px rgba(0, 0, 0, 1.0);
    width: 100%;
    background: #fff;
    align-items: center;
    position: relative;
    padding-right: 40px;
}
.memberBlock li a:after {
    font-family: 'icf' !important;
    speak: none;
    content: "\e91b";
    position: absolute;
    right: 10px;
    top: 50%;
    font-size: 14px;
    transform: translateY(-50%);
}
.memberBlock li figure {
    width: 30%;
    margin-right: 20px;
}
.memberBlock li figure img {
    width: 100%;
    height: auto;
}
.shipType .ship {
    margin-bottom: 20px;
}
.shipType .ship:last-of-type {
    margin-bottom: 0;
}
.shipType .ship img {
    width: 100%;
    height: auto;
}
.shipType .ship h3 {
    padding: 10px 0;
    font-weight: bold;
    font-size: 20px;
}
.shipType .ship h3 span {
    border-bottom: solid 2px #000;
}
.boarding .boardingPlace {
    margin-bottom: 40px;
}
.boarding .boardingPlace:last-of-type {
    margin-bottom: 0;
}
.boarding .boardingPlace h3 {
    background: #000;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    margin-bottom: 20px;
}
.boarding .boardingPlace .map {
    height: 300px;
    margin-bottom: 20px;
}
.boarding .boardingPlace dl {
    position: relative;
    padding-bottom: 10px;
}
.boarding .boardingPlace dl:before {
    content: "";
    height: 2px;
    width: 100%;
    background: #000;
    position: absolute;
    top: 12px;
}
.boarding .boardingPlace dl:after {
    content: "";
    height: 2px;
    width: 100%;
    background: #000;
    position: absolute;
    bottom: 0;
}
.boarding .boardingPlace dl dt {
    font-weight: bold;
    text-align: center;
}
.boarding .boardingPlace dl dt:before {
    content: "";
    background: #000;
    width: 6px;
    height: 6px;
    position: absolute;
    border-radius: 10px;
    left: 0;
    top: 10px;
}
.boarding .boardingPlace dl dt:after {
    content: "";
    background: #000;
    width: 6px;
    height: 6px;
    position: absolute;
    border-radius: 10px;
    right: 0;
    top: 10px;
}
.boarding .boardingPlace dl dt span {
    position: relative;
    z-index: 2;
}
.boarding .boardingPlace dl dt span:before {
    content: "";
    background: #fff;
    height: 4px;
    position: absolute;
    top: 6px;
    left: -10%;
    width: 120%;
    z-index: -1;
}
.boarding .boardingPlace dl dd {
    text-align: center;
    position: relative;
    font-size: 15px;
}
.boarding .boardingPlace dl dd:first-of-type {
    font-size: 20px;
    font-weight: bold;
}
.boarding .boardingPlace dl dd:last-of-type:before {
    content: "";
    background: #000;
    width: 6px;
    height: 6px;
    position: absolute;
    border-radius: 10px;
    left: 0;
    bottom: -12px;
}
.boarding .boardingPlace dl dd:last-of-type:after {
    content: "";
    background: #000;
    width: 6px;
    height: 6px;
    position: absolute;
    border-radius: 10px;
    right: 0;
    bottom: -12px;
}
/**option**/
section#optionTit .imgTit {
    background: url("../img/suport/tit_option.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#optionTit .imgTit.sitemap {
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    background: none;
    height: 140px;
    padding: 0;
    position: relative;
}
section#optionTit .imgTit.sitemap h1 {
    color: #000;
}
section#optionTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#optionTit h1 span {
    font-size: 12px;
    display: block;
}
section#optionColumn h2 {
    text-align: center;
    background: url("../img/shared/line_split_smt.png") top center no-repeat;
    background-size: auto 5px;
    padding-top: 20px;
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: bold;
}
section#optionColumn ul {
    padding: 0 20px;
    counter-reset: number 0;
}
section#boartColumn ul.caseList {
    padding: 0 20px;
    counter-reset: number 0;
}
section#busColumn ul {
    counter-reset: number 0;
    margin-bottom: 40px;
}
section#optionColumn ul li, section#busColumn ul li, section#boartColumn ul.caseList li {
    padding: 15px;
    border: solid 1px #ddd;
    position: relative;
    margin-bottom: 40px;
}
section#optionColumn ul li:last-of-type, section#busColumn ul li:last-of-type, section#boartColumn ul.caseList li:last-of-type {
    margin-bottom: 0;
}
section#optionColumn ul li:before, section#busColumn ul li:before, section#boartColumn ul.caseList li:before {
    counter-increment: number 1;
    content: "case "counter(number, decimal-leading-zero);
    position: absolute;
    left: 15px;
    top: -12px;
    background: #fff;
    padding: 0 10px;
    font-family: hwt-republic-gothic-solid, sans-serif;
    font-size: 20px;
    color: #ddd;
    line-height: 1;
}
section#optionColumn ul li img, section#busColumn ul li img, section#boartColumn ul.caseList li img {
    width: 100%;
    height: auto;
}
section#optionColumn ul li h3, section#busColumn ul li h4, section#boartColumn ul.caseList li h3 {
    padding: 20px 0;
    font-weight: bold;
    font-size: 20px;
}
section#optionColumn ul li h3 span, section#busColumn ul li h4 span, section#boartColumn ul.caseList li h3 span {
    border-bottom: solid 2px #000;
    padding-bottom: 5px;
}
section#boartColumn ul.caseList li p {
    padding: 0;
}
section#suportTit .imgTit {
    background: url("../img/suport/tit_top.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#suportTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    line-height: 1.4;
    filter: drop-shadow(2px 2px 0 rgba(242, 242, 242, 1));
}
section#suportTit h1 span {
    font-size: 12px;
    display: block;
}
#flow {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 40px 20px 20px 20px;
    position: relative;
}
#flow h2 {
    font-weight: bold;
    text-align: center;
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    font-size: 20px;
}
#flow ol {
    counter-reset: number;
}
#flow ol > li {
    padding: 15px;
    background: #fff;
    border: solid 1px #000;
    position: relative;
    margin-bottom: 60px;
}
#flow ol > li:last-of-type {
    margin-bottom: 0;
}
#flow ol > li:before {
    counter-increment: number;
    content: "STEP "counter(number);
    position: absolute;
    left: 15px;
    top: -15px;
    width: 60px;
    z-index: 10;
    text-align: center;
    font-weight: bold;
    background: #fff;
}
#flow ol > li:after {
    font-family: 'icf' !important;
    speak: none;
    content: "\e91a";
    position: absolute;
    bottom: -40px;
    font-size: 20px;
    left: 50%;
    transform-origin: left;
    transform: rotate(90deg);
}
#flow ol > li:last-of-type:after {
    display: none;
}
#flow ol > li h3 {
    font-weight: bold;
    padding: 10px 0;
}
#flow .searchBtn {
    background-color: rgb(236, 50, 134);
    box-shadow: 0px 4px 2px 0px rgba(146, 5, 69, 0.53);
    color: #fff;
    text-align: center;
    display: block;
    border-radius: 4px;
    padding: 10px;
    font-size: 18px;
    font-weight: bold;
}
#flow .searchBtn:before {
    font-family: 'icf' !important;
    speak: none;
    font-weight: normal;
    margin-right: 5px;
    font-size: 20px;
    content: "\e91c";
}
#flow .telBox {
    background: #f3f3f3;
    padding: 15px;
    margin-top: 20px;
}
#flow .telBox p:first-of-type {
    border-bottom: solid 1px #000;
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: bold;
}
#flow .telBox a {
    display: block;
    font-size: 30px;
    font-weight: bold;
    position: relative;
    padding-left: 25px;
    line-height: 1;
}
#flow .telBox a:before {
    content: "";
    background: url("../img/suport/ico_tel.avif")no-repeat;
    background-size: 20px;
    width: 20px;
    height: 20px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#flow .telBox p:nth-of-type(2) {
    font-size: 13px;
    margin-bottom: 20px;
}
#flow .telBox p:last-of-type {
    font-size: 14px;
    font-weight: bold;
}
#flow .telBox ul {
    counter-reset: telNo;
    display: flex;
    flex-wrap: wrap;
}
#flow .telBox ul li {
    font-size: 14px;
    font-weight: bold;
    position: relative;
    padding-left: 17px;
    margin-right: 10px;
}
#flow .telBox ul li:before {
    content: "";
    width: 15px;
    height: 15px;
    border-radius: 20px;
    background: #000;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#flow .telBox ul li:after {
    counter-increment: telNo;
    content: counter(telNo);
    position: absolute;
    font-size: 12px;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
}
#flow .info p {
    margin-bottom: 20px;
    padding-bottom: 20px;
    position: relative;
}
#flow .info p:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
}
#flow .info p:last-of-type:after {
    display: none;
}
#flow .info p:after {
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    bottom: 0;
    left: 0;
}
#flow .info span {
    color: #00a0b8;
    font-weight: bold;
}
#flow .info h4 {
    color: #00a0b8;
    font-weight: bold;
    margin-bottom: 10px;
    position: relative;
}
#flow .info h4:before {
    content: "";
    background: #000;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
    left: 0;
    top: -23px;
}
#flow .info h4:after {
    content: "";
    background: #000;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
    right: 0;
    top: -23px;
}
#flow .info img {
    width: 100%;
    height: auto;
}
#cancelCharge {
    padding: 20px;
}
#cancelCharge h2 {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}
/**faq**/
section#faqTit .imgTit {
    background: url("../img/suport/tit_faq.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#faqTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#faqTit h1 span {
    font-size: 12px;
    display: block;
}
section#faqColumn p {
    padding: 0 20px;
    margin-bottom: 20px;
}
section#faqColumn .anchorNav {
    padding: 0 20px 60px 20px;
}
section#faqColumn .anchorNav li {
    margin-bottom: 10px;
}
section#faqColumn .anchorNav li:last-of-type {
    margin-bottom: 0;
}
section#faqColumn .anchorNav li a {
    border: solid 2px #000;
    border-radius: 4px;
    display: block;
    padding: 10px 20px;
    font-size: 18px;
    font-weight: bold;
    position: relative;
}
section#faqColumn .anchorNav li a:after {
    font-family: 'icf' !important;
    speak: none;
    content: "\e91a";
    position: absolute;
    right: 15px;
    font-size: 14px;
    top: 10px;
    transform-origin: left;
    transform: rotate(90deg);
}
section#faqColumn .faqBlock {
    padding: 60px 20px 20px 20px;
    position: relative;
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    margin-bottom: 60px;
}
section#faqColumn .faqBlock:last-of-type {
    margin-bottom: 0;
}
section#faqColumn .faqBlock h2 {
    position: absolute;
    top: -20px;
    font-size: 22px;
    font-weight: bold;
    left: 0;
    width: 100%;
    text-align: center;
}
section#faqColumn .faqBlock dl {
    counter-reset: faqNo;
}
section#faqColumn .faqBlock dt {
    background: #fff;
    padding: 20px 20px 20px 65px;
    color: #00a0b8;
    font-weight: bold;
    font-size: 18px;
    position: relative;
}
section#faqColumn .faqBlock dt:before {
    content: "";
    width: 40px;
    height: 30px;
    position: absolute;
    background: #00a0b8;
    left: 20px;
    top: 20px;
}
section#faqColumn .faqBlock dt:after {
    counter-increment: faqNo;
    content: "Q"counter(faqNo);
    width: 40px;
    position: absolute;
    background: #00a0b8;
    left: 20px;
    top: 20px;
    color: #fff;
    text-align: center;
}
section#faqColumn .faqBlock dd {
    padding: 0 20px 20px 20px;
    background: #fff;
    margin-bottom: 20px;
}
section#faqColumn .faqBlock dd:last-of-type {
    margin-bottom: 0;
}
/**bording**/
.bordingType01 {
    border: solid 2px #000;
    margin: 0 20px 20px 20px;
    position: relative;
    padding: 20px;
}
.bordingType01 h2 {
    position: absolute;
    left: 10px;
    top: -16px;
    font-size: 18px;
    background: #fff;
    font-weight: bold;
    padding: 0 10px;
}
.bordingType02 {
    border: solid 2px #00a0b8;
    margin: 0 20px 60px 20px;
    position: relative;
    padding: 20px;
}
.bordingType02 h2 {
    color: #00a0b8;
    position: absolute;
    left: 10px;
    top: -16px;
    font-size: 18px;
    background: #fff;
    font-weight: bold;
    padding: 0 10px;
}
/**bus**/
section#busTit .imgTit {
    background: url("../img/bus/tit_img.jpg") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#busTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#busTit h1 span {
    font-size: 12px;
    display: block;
}
#busColumn h2 {
    color: #00a0b8;
    font-size: 20px;
    margin-bottom: 10px;
}
#busColumn h3 {
    margin-top: 20px;
    padding-top: 20px;
    border-top: solid 1px #000;
    position: relative;
    text-align: center;
    margin-bottom: 20px;
    font-weight: bold;
}
#busColumn h3:before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #000;
    position: absolute;
    left: 0;
    top: -3px;
}
#busColumn h3:after {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #000;
    position: absolute;
    right: 0;
    top: -3px;
}
#busColumn p span {
    font-weight: bold;
    color: #00a0b8;
}
/**noriai**/
section#noriaiTit .imgTit {
    background: url("../img/noriai/tit_img.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#noriaiTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#noriaiTit h1 span {
    font-size: 12px;
    display: block;
}
/**kashikiri**/
section#kashikiriTit .imgTit {
    background: url("../img/kashikiri/tit_img.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#kashikiriTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#kashikiriTit h1 span {
    font-size: 12px;
    display: block;
}
section#boartColumn ul.caseList li p.price {
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 20px;
}
section#boartColumn ul.caseList li p.price span {
    font-size: 14px;
    font-weight: normal;
}
/**boart**/
section#boartColumn p:first-of-type {
    padding: 0 20px;
}
section#boartColumn p.addTxt {
    padding: 20px 20px 0 20px;
}
section#boartColumn dl {
    margin: 20px 20px 60px 20px;
    padding: 20px 0;
    border-top: dotted 3px #ccc;
    border-bottom: dotted 3px #ccc;
}
section#boartColumn dt {
    text-align: center;
    font-weight: bold;
    color: #14b1c2;
    position: relative;
}
section#boartColumn dt:before {
    content: "・・・";
    font-size: 10px;
    top: -2px;
    position: relative;
    margin-right: 3px;
    font-weight: normal;
}
section#boartColumn dt:after {
    content: "・・・";
    font-size: 10px;
    top: -2px;
    position: relative;
    margin-left: 3px;
    font-weight: normal;
}
section#boartColumn dd {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
}
section#boartColumn dd:last-of-type {
    margin-bottom: 0;
}
section#boartColumn dd span {
    font-size: 14px;
    font-weight: normal;
}
section#boartColumn .merit {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    position: relative;
    padding: 30px 20px 20px 20px;
    margin-bottom: 40px;
}
section#boartColumn .merit h2 {
    font-size: 18px;
    text-align: center;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: -15px;
    width: 100%;
}
section#boartColumn .merit ul li {
    background: #fff;
    padding: 10px;
    margin-bottom: 20px;
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.2));
}
section#boartColumn .merit ul li:last-of-type {
    margin-bottom: 0;
}
section#boartColumn .merit ul li p {
    padding: 0;
}
section#boartColumn .merit ul li h3 {
    margin-bottom: 10px;
    font-weight: bold;
    padding-left: 30px;
    background: url("../img/shared/no_ico01.png") left top no-repeat;
    background-size: auto 26px;
}
section#boartColumn .merit ul li:nth-of-type(2) h3 {
    background: url("../img/shared/no_ico02.png") left top no-repeat;
    background-size: auto 26px;
}
section#boartColumn .merit ul li:nth-of-type(3) h3 {
    background: url("../img/shared/no_ico03.png") left top no-repeat;
    background-size: auto 26px;
}
section.banar {
    padding: 20px 20px 0 20px;
}
section.banar a {
    background: url("../img/noriai/banar_kashikiri.avif") center center no-repeat;
    display: block;
    background-size: cover;
    padding: 40px 20px;
    color: #fff;
    font-size: 26px;
    text-align: center;
}
section.banar.noriai a {
    background: url("../img/kashikiri/banar_noriai.avif") center center no-repeat;
    background-size: cover;
}
section.banar a span {
    display: block;
    color: #fff;
    font-size: 14px;
}
/** food **/
section#foodTit .imgTit {
    background: url("../img/food/tit_img.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#foodTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#foodTit h1 span {
    font-size: 12px;
    display: block;
}
.foodInfoTit {
    position: relative;
    height: 50vh;
}
.foodInfoTit h1 {
    font-family: dnp-shuei-mincho-pr6, sans-serif;
    font-weight: 600;
    font-style: normal;
    height: 80%;
    position: absolute;
    right: 20px;
    font-size: 34px;
    text-align: left !important;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.4));
    color: #fff;
    line-height: 1.4;
    top: 50%;
    transform: translateY(-50%);
}
.foodInfoTit.monja h1 span {
    background: url("../img/monja/title_bg.avif")left top, #cb4e0f;
    background-size: 25px, 100%;
    padding: 20px 10px;
    line-height: 1;
    display: inline-block !important;
    font-size: 18px !important;
    margin-left: 10px;
}
.foodInfoTit.monja {
    background: url("../img/monja/main_img_smt.avif") center top no-repeat;
    background-size: cover;
}
.foodInfoTit.tempura h1 span {
    background: url("../img/monja/title_bg.avif")left top, #c92049;
    background-size: 25px, 100%;
    padding: 20px 10px;
    line-height: 1;
    display: inline-block !important;
    font-size: 18px !important;
    margin-left: 10px;
}
.foodInfoTit.tempura {
    background: url("../img/tempura/main_img_smt.avif") center top no-repeat;
    background-size: cover;
}
.foodInfoTit.sashimi h1 span {
    background: url("../img/monja/title_bg.avif")left top, #14b1c2;
    background-size: 25px, 100%;
    padding: 20px 10px;
    line-height: 1;
    display: inline-block !important;
    font-size: 18px !important;
    margin-left: 10px;
}
.foodInfoTit.sashimi {
    background: url("../img/sashimi/main_img_smt.avif") center top no-repeat;
    background-size: cover;
}
section#foodTit .foodInfoTit.lunch h1 {
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.6));
    width: auto;
    right: auto;
    left: 50%;
    transform: translate(-50%, -45%);
}
.foodInfoTit.lunch h1 span {
    background: url("../img/monja/title_bg.avif")left top, #f29f00;
    background-size: 25px, 100%;
    padding: 20px 10px;
    line-height: 1;
    display: inline-block !important;
    font-size: 18px !important;
    margin-left: 10px;
}
.foodInfoTit.lunch {
    background: url("../img/lunch/main_img_smt.avif") center top no-repeat;
    background-size: cover;
}
section#foodTit .foodInfoTit.dinner h1 {
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.6));
    width: auto;
    right: auto;
    left: 50%;
    transform: translate(-50%, -45%);
}
.foodInfoTit.dinner h1 span {
    background: url("../img/monja/title_bg.avif")left top, #000;
    background-size: 25px, 100%;
    padding: 20px 10px;
    line-height: 1;
    display: inline-block !important;
    font-size: 18px !important;
    margin-left: 10px;
}
.foodInfoTit.dinner {
    background: url("../img/dinner/main_img_smt.avif") center top no-repeat;
    background-size: cover;
}
.foodSubTit {
    padding: 0 20px 20px 20px;
    font-size: 22px;
}
#foodColumn picture img {
    width: 100%;
    height: auto;
    display: block;
}
#foodColumn .sampleAttent {
    padding: 10px 20px;
}
#foodColumn .sampleAttent li {
    font-size: 12px;
}
#foodColumn .foodBox {
    margin: 0 20px;
    border-top: solid 1px #000;
    position: relative;
    padding: 20px 0;
}
#foodColumn .foodBox:before {
    content: "";
    background: #000;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
    left: 0;
    top: -3px;
}
#foodColumn .foodBox:after {
    content: "";
    background: #000;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
    right: 0;
    top: -3px;
}
#foodColumn .foodBox figure {
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 10px;
}
#foodColumn .foodBox figure img {
    width: 100%;
    height: auto;
}
#foodColumn .foodBox h2 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}
#foodColumn .foodBox .baseBtn {
    margin: 20px 0;
}
#foodColumn .foodBox .reportLink {
    margin-top: 20px;
    background: url("../img/shared/bg_math.png")left top;
    background-size: 5px;
    border: solid 1px #000;
    padding: 10px;
    border-radius: 5px;
    overflow: hidden;
}
#foodColumn .foodBox .reportLink h3 {
    text-align: center;
    border-bottom: solid 1px #000;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
#foodColumn .foodBox .reportLink ul {
    display: flex;
    margin-bottom: 10px;
}
#foodColumn .foodBox .reportLink ul li {
    width: 49%;
    margin-right: 2%;
}
#foodColumn .foodBox .reportLink ul li:last-of-type {
    margin-right: 0;
}
#foodColumn .foodBox .reportLink ul li img {
    width: 100%;
    height: auto;
    border-radius: 5px;
    overflow: hidden;
}
#foodColumn .foodBox .reportLink a {
    display: block;
    background: #ff9316;
    color: #fff;
    border-radius: 5px;
    text-align: center;
    padding: 15px 10px;
    border-bottom: solid 2px #914D00;
    margin-top: 10px;
}
#foodColumn .foodBox:nth-of-type(2) .reportLink a {
    background: #c72049;
    border-bottom: solid 2px #4F0C1D;
}
#foodColumn .foodBox:nth-of-type(3) .reportLink a {
    background: #14b1c2;
    border-bottom: solid 2px #09555D;
}
#foodColumnOt .box {
    margin-bottom: 40px;
    border-bottom: solid 1px #000;
    padding-bottom: 40px;
    position: relative;
}
#foodColumnOt .box:before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #000;
    position: absolute;
    left: 0;
    bottom: -3px;
}
#foodColumnOt .box:after {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #000;
    position: absolute;
    right: 0;
    bottom: -3px;
}
#foodColumnOt .box:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
#foodColumnOt .box:last-of-type:before, #foodColumnOt .box:last-of-type:after {
    display: none;
}
#foodColumnOt h2 {
    background: #fff;
    border-left: solid 2px #000;
    padding: 5px 10px;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}
#foodColumnOt figure {
    position: relative;
    margin-bottom: 20px;
}
#foodColumnOt figure:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgba(255, 186, 96, 0.17);
    right: -10px;
    bottom: -10px;
    display: block;
}
#foodColumnOt figure img {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 10;
}
#foodColumnOt .linkBanar {
    margin-top: 20px;
}
#foodColumnOt .linkBanar li:nth-of-type(1) ~ li {
    margin-top: 20px;
}
#foodColumnOt .box p {
    font-size: 14px;
}
#otherFood li:nth-of-type(1) ~ li {
    margin-top: 20px;
}
#otherFood a {
    display: block;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    padding: 30px 0;
}
#otherFood a span {
    display: block;
    font-size: 14px;
    font-weight: normal;
}
#otherFood .tenpura a {
    background: url("../img/food/banar_tenpura.avif")center center no-repeat;
    background-size: cover;
}
#otherFood .sashimi a {
    background: url("../img/food/banar_sashimi.avif")center center no-repeat;
    background-size: cover;
}
#otherFood .monja a {
    background: url("../img/food/banar_monja.avif")center center no-repeat;
    background-size: cover;
}
section#planBest {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 20px;
}
section#planBest h2 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 20px;
}
section#planBest ul {
    border-top: solid 1px #000;
    padding-top: 20px;
    counter-reset: bestNum;
    position: relative;
}
section#planBest ul:before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 10px;
    background: #000;
    position: absolute;
    left: 0;
    top: -3px;
}
section#planBest ul:after {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 10px;
    background: #000;
    position: absolute;
    right: 0;
    top: -3px;
}
section#planBest ul li {
    position: relative;
    border-bottom: dotted 1px #000;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
section#planBest ul li:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}
section#planBest ul li:before {
    content: "No."counter(bestNum);
    counter-increment: bestNum;
    font-size: 20px;
    font-weight: bold;
    background: #000;
    color: #fff;
    padding: 2px 8px;
}
section#planBest ul li h3 {
    font-size: 20px;
    font-weight: bold;
}
section#planBest ul li .price {
    font-size: 16px;
    margin-bottom: 10px;
}
section#planBest ul li .price span {
    font-size: 24px;
    font-weight: bold;
    margin-left: 10px;
    color: #F00;
}
section#planBest ul li img {
    width: 100%;
    height: auto;
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 20px;
}
section#planBest ul li p {
    margin-bottom: 20px;
}
section#planBest ul li p .attend {
    font-size: 14px;
}
/** report **/
.reportMainTit {
    position: relative;
    height: 50vh;
}
.reportMainTit .inner {
    position: absolute;
    left: 0;
    top: 20px;
}
.reportMainTit p span:first-of-type {
    font-family: dnp-shuei-mincho-pr6, sans-serif;
    padding: 10px 10px 10px 30px;
    line-height: 1;
    display: inline-block !important;
    font-size: 16px !important;
    background: url("../img/monja/title_bg.avif")left top, #cb4e0f;
    background-size: 25px, 100%;
    color: #fff;
}
.reportMainTit p span:last-of-type {
    display: block;
    padding-left: 30px;
    font-size: 14px;
    padding-top: 5px;
}
.reportMainTit p {
    font-weight: bold;
    color: #cd5417;
}
.reportMainTit.tempura p {
    color: #c92049;
}
.reportMainTit.tempura p span:first-of-type {
    background: url("../img/tempura/title_bg.avif")left top, #c92049;
}
.reportMainTit.sashimi p {
    color: #14b1c2;
}
.reportMainTit.sashimi p span:first-of-type {
    background: url("../img/monja/title_bg.avif")left top, #14b1c2;
}
.reportMainTit.foreigner p span:first-of-type {
    background: url("../img/monja/title_bg.avif")left top, #970303;
}
.reportMainTit.foreigner p {
    color: #970303;
}
.reportMainTit.foreigner h1 {
    padding-top: 30%;
    color: #fff;
    filter: drop-shadow(2px 2px 0px rgba(0, 0, 0, 0.8));
}
.reportMainTit h1 {
    font-weight: 600;
    font-style: normal;
    font-size: 34px;
    text-align: left !important;
    filter: drop-shadow(2px 2px 0px rgba(255, 255, 255, 0.8));
    line-height: 1.4;
    padding: 10px 0 0 30px;
}
.reportMainTit.monja {
    background: url("../img/monja/report_main_img_smt.avif") center top no-repeat;
    background-size: cover;
}
.reportMainTit.tempura {
    background: url("../img/tempura/report_main_img_smt.avif") center top no-repeat;
    background-size: cover;
}
.reportMainTit.sashimi {
    background: url("../img/sashimi/report_main_img_smt.avif") center top no-repeat;
    background-size: cover;
}
.reportMainTit.foreigner {
    background: url("../img/foreigner/main_img_smt.avif") center top no-repeat;
    background-size: cover;
}
section#reportColumn p {
    padding: 0 20px;
    margin-bottom: 20px;
}
section#reportColumn figure img {
    width: 100%;
    height: auto;
}
section#reportColumn figure {
    margin-bottom: 20px;
}
.reportSp {
    border: solid 2px #970303;
    border-radius: 3px;
    margin: 0 20px;
    padding: 15px;
    margin-bottom: 40px;
}
.reportSp p {
    padding: 0 !important;
    color: #970303;
    margin: 0 0 5px 0 !important;
    font-weight: bold;
}
.reportSp a {
    display: block;
    background: url("../img/monja/title_bg.avif"), #970303;
    background-size: 25px, 100%;
    color: #fff;
    text-align: center;
    padding: 10px;
    border-bottom: solid 2px #000;
}
/**campaign**/
section#campaignTit .smt, section#campaignTit .monja .mainTit .smt {
    display: block;
    width: 100%;
    height: auto;
}
section#campaignTit .pc, section#campaignTit .monja .mainTit .pc {
    display: none;
}
section#campaignTit h1 img, section#campaignTit .monja .mainTit img {
    width: 100%;
    height: auto;
}
section#joshikaiColumn {
    padding: 20px;
}
section#joshikaiColumn h2 {
    font-size: 20px;
    font-weight: bold;
    color: #ec3286;
    margin-bottom: 10px;
}
.campaignBox .infoTxt {
    margin-bottom: 40px;
}
#joshikaiColumn article {
    border: solid 2px #ec3286;
    padding: 30px 20px 20px 20px;
    position: relative;
    margin-bottom: 40px;
}
#joshikaiColumn article .read {
    margin-bottom: 20px;
}
#joshikaiColumn article:last-of-type {
    margin-bottom: 0;
}
#joshikaiColumn article img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 10px;
}
#joshikaiColumn article h3 {
    text-align: center;
    width: 100%;
    position: absolute;
    left: 0;
    top: -22px;
    font-weight: bold;
    color: #ec3286;
    font-size: 24px;
}
#joshikaiColumn article h3 span {
    background: #fff;
    padding: 0 10px;
}
#joshikaiColumn article .courseBox {
    background: #f0f0f0;
}
#joshikaiColumn article h4 {
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    padding: 0 10px;
    margin-bottom: 10px;
}
#joshikaiColumn article h4 span {
    border-bottom: solid 2px #000;
}
#joshikaiColumn article .courseBox:last-of-type {
    margin-top: 20px;
}
#joshikaiColumn article .courseBox p {
    padding: 0 10px;
    margin-bottom: 20px;
}
#joshikaiColumn article .courseBox ul {
    padding: 0 10px 10px 10px;
}
#joshikaiColumn article .courseBox ul li:first-of-type ~ li {
    margin-top: 20px;
}
#joshikaiColumn article .courseBox ul li a.baseBtn {
    text-align: left;
    padding: 10px 34px 10px 10px
}
section#monjaColumn {
    padding: 20px 0;
}
section#monjaColumn h2, section#monjaColumn .blueTit {
    font-size: 20px;
    font-weight: bold;
    color: #14b1c2;
    margin-bottom: 10px;
    padding: 0 20px;
}
section#monjaColumn .infoTxt {
    padding: 0 20px;
}
#monjaColumn .infoBlock {
    background: url("../img/food/food_bg.avif")left top;
    background-size: 375px 115px;
    padding: 20px;
}
#monjaColumn .infoBlock h2 {
    background: #fff;
    border-left: solid 2px #000;
    padding: 5px 10px;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #000;
}
#monjaColumn .infoBlock p {
    margin-bottom: 20px;
}
#monjaColumn .infoBlock figure {
    position: relative;
    margin-bottom: 20px;
}
#monjaColumn .infoBlock figure:before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: rgba(255, 186, 96, 0.17);
    right: -10px;
    bottom: -10px;
    display: block;
}
#monjaColumn .infoBlock figure img {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 10;
}
#monjaColumn .infoBlock .linkBanar {
    margin-bottom: 40px;
}
#monjaColumn .infoBlock h3 {
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
    position: relative;
}
#monjaColumn .infoBlock h3:before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #000;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
}
#monjaColumn .infoBlock h3:after {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #000;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
}
#monjaColumn .infoBlock ol li {
    border: solid 2px #000;
    padding: 20px;
    position: relative;
}
#monjaColumn .infoBlock ol {
    counter-reset: pointnum;
}
#monjaColumn .infoBlock ol li:before {
    content: "POINT0"counter(pointnum);
    counter-increment: pointnum;
    font-weight: bold;
    position: absolute;
    left: 10px;
    top: -15px;
    background: #f7f7f7;
    padding: 0 10px;
}
#monjaColumn .infoBlock ol li:nth-of-type(2):before {
    left: auto;
    right: 10px;
}
#monjaColumn .infoBlock ol li p {
    margin-bottom: 0;
}
#monjaColumn .infoBlock ol li:first-of-type ~ li {
    margin-top: 30px;
}
#monjaColumn .infoBlock ol li h4 {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px;
}
#shipInfo {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 40px 20px 20px 20px;
    position: relative;
}
#shipInfo h2 {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    top: -15px;
}
#shipInfo figure img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 20px;
}
#shipInfo p {
    margin-bottom: 40px;
}
#shipInfo dt {
    position: relative;
    border-top: solid 1px #000;
    margin-bottom: 20px;
}
#shipInfo dt:before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #000;
    left: 0;
    top: -3px;
    position: absolute;
}
#shipInfo dt:after {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #000;
    right: 0;
    top: -3px;
    position: absolute;
}
#shipInfo dt span {
    display: inline-block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -15px;
    background: #fafafa;
}
#shipInfo dd {
    margin-bottom: 30px;
    font-weight: bold;
    position: relative;
}
#shipInfo dd:last-of-type {
    margin-bottom: 0;
}
#shipInfo dd span {
    font-size: 14px;
    font-weight: normal;
}
#shipInfo dd.noriai {
    border: solid 2px #14b1c2;
    margin-left: 5px;
    padding: 20px 10px 10px 10px;
    background: #fff;
}
#shipInfo dd.noriai span {
    font-weight: bold;
    color: #fff;
    background: #14b1c2;
    position: absolute;
    left: -5px;
    top: -10px;
    padding: 0 20px;
}
#shipInfo dd.charter {
    border: solid 2px #0089d1;
    margin-left: 5px;
    padding: 20px 10px 10px 10px;
    background: #fff;
}
#shipInfo dd.charter span {
    font-weight: bold;
    color: #fff;
    background: #0089d1;
    position: absolute;
    left: -5px;
    top: -10px;
    padding: 0 20px;
}
section#campaignTit .yukata {
    position: relative;
}
section#campaignTit .yukata .tit {
    position: absolute;
    left: 50%;
    bottom: 20px;
    z-index: 10;
    transform: translateX(-50%);
    width: 100%;
    padding: 0 20px;
}
section#campaignTit .yukata .tit h1 {
    font-family: dnp-shuei-mincho-pr6, sans-serif;
    font-style: normal;
    font-weight: 600;
    position: relative;
    font-size: 40px;
    line-height: 1.2;
    color: #fff;
    text-shadow: 0px 0px 5px #000;
}
section#campaignTit .yukata .tit p {
    font-family: dnp-shuei-mincho-pr6, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 24px;
    color: #fff;
    text-shadow: 0px 0px 5px #000;
    margin-bottom: 10px;
}
section#campaignTit .yukata .tit h1:after {
    content: "";
    background: url("../img/campaign/mark_asakusa.avif") no-repeat;
    background-size: 70px;
    width: 70px;
    height: 70px;
    right: 0;
    top: 15px;
    position: absolute;
}
section#campaignTit .yukata .tit a {
    display: block;
    background: #be0202;
    color: #fff;
    padding: 10px 0;
    text-align: center;
    position: relative;
}
section#campaignTit .yukata .tit a:after {
    content: "";
    background: url("../img/campaign/yukata_arrow.avif")no-repeat;
    width: 16px;
    height: 9px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}
section#yukata01 {
    padding: 20px;
}
section#yukata01 h2 {
    margin-bottom: 10px;
}
section#yukata02 {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 20px;
}
section#yukata02 h2 {
    text-align: center;
    line-height: 1.2;
}
section#yukata02 .subTit {
    text-align: center;
    font-size: 14px;
    margin-bottom: 20px;
}
section#yukata02 .planList li {
    border: solid 1px #000;
    padding: 40px 20px 20px 20px;
    background: #fff;
    position: relative;
    margin-bottom: 40px;
}
section#yukata02 .planList li h3 {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: 100%;
    line-height: 1.2;
}
section#yukata02 .planList li h3:before {
    content: "";
    width: 90%;
    background: #fff;
    height: 2px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 29px;
    z-index: -1;
}
section#yukata02 .option h3 {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: 100%;
    line-height: 1.2;
}
section#yukata02 .option h3:before {
    content: "";
    width: 90%;
    background: #fff;
    height: 2px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 8px;
    z-index: -1;
}
section#yukata02 .planList li h3 span, section#yukata02 .option h3 span {
    display: block;
    font-size: 14px;
}
section#yukata02 .planList li img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 10px;
}
section#yukata02 .planList li:nth-of-type(1) h3 span {
    color: #e60000;
}
section#yukata02 .planList li:nth-of-type(2) h3 span {
    color: #0154de;
}
section#yukata02 .planList li:nth-of-type(3) h3 span {
    color: #f631b7;
}
section#yukata02 .planList li:nth-of-type(4) h3 span {
    color: #242424;
}
section#yukata02 .planList li .price {
    text-align: right;
    color: #be0202;
    font-weight: bold;
    position: relative;
    margin-bottom: 20px;
}
section#yukata02 .planList li .price:after {
    content: "(税込)";
    color: #000;
    position: absolute;
    right: 0;
    bottom: -10px;
    font-size: 14px;
}
section#yukata02 .planList li .price span {
    font-size: 30px;
}
section#yukata02 .planList li dl {
    margin-top: 20px;
    background: #e5e5e5;
    padding: 10px;
}
section#yukata02 .planList li dl dt {
    background: #fff;
    text-align: center;
    padding: 2px 0;
    font-size: 14px;
    margin-bottom: 10px;
}
section#yukata02 .option {
    border: solid 1px #000;
    background: #fff;
    padding: 40px 20px 20px 20px;
    position: relative;
}
section#yukata02 .option img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 20px;
}
section#yukata02 .option h4 {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 10px;
}
section#yukata02 .option .price {
    border: solid 2px #e5e5e5;
    padding: 20px 10px 10px 10px;
    margin-top: 40px;
    position: relative;
}
section#yukata02 .option .price h5 {
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    text-align: center;
    color: #8b8b8b;
}
section#yukata02 .option .price h5 span {
    background: #fff;
    padding: 0 10px;
}
section#yukata02 .option .price p {
    font-size: 14px;
}
section#yukata02 .option .price li {
    text-align: right;
    margin-top: 10px;
    color: #be0202;
}
section#yukata02 .option .price li:after {
    content: "(税別)";
    font-size: 14px;
    color: #000;
    font-weight: bold;
}
section#yukata02 .option .price li span {
    font-size: 24px;
    font-weight: bold;
}
section#yukata02 .option .price li:last-of-type {
    font-size: 14px;
    color: #000;
}
section#yukata03 {
    padding: 20px;
}
section#yukata03 img {
    width: 100%;
    height: auto;
}
section#yukata03 .list {
    margin-top: 20px;
}
section#yukata03 .list h3 {
    font-size: 30px;
    line-height: 1.2;
}
section#yukata03 .list p.subtxt {
    margin-bottom: 20px;
}
section#yukata03 .list .shopList li:first-of-type ~ li {
    margin-top: 40px;
}
section#yukata03 .list .shopList li h4 {
    border: solid 1px #000;
    padding: 5px;
    text-align: center;
    margin-bottom: 10px;
}
section#yukata03 .list .shopList li p:first-of-type {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: solid 1px #c3c3c3;
}
section#yukata03 .list .shopList li p span {
    font-weight: bold;
}
section#yukata04 {
    background: #f3f3f3;
    padding: 40px 20px 20px 20px;
}
section#yukata04 h2 {
    text-align: center;
    line-height: 1.2;
    margin-bottom: 30px;
}
section#yukata04 h2 span {
    display: block;
    font-size: 14px;
}
section#yukata04 ol {
    counter-reset: flowNum;
}
section#yukata04 ol li {
    background: #fff;
}
section#yukata04 ol li:first-of-type ~ li {
    margin-top: 20px;
}
section#yukata04 ol li img {
    width: 100%;
    height: auto;
}
section#yukata04 ol li h3 {
    padding: 20px 20px 10px 50px;
    position: relative;
    font-size: 22px;
    font-weight: bold;
}
section#yukata04 ol li h3:before {
    content: counter(flowNum, decimal-leading-zero);
    counter-increment: flowNum;
    position: absolute;
    left: 20px;
}
section#yukata04 ol li p {
    padding: 0 20px 20px 20px;
    font-size: 14px;
}
section#form {
    padding: 40px 20px 20px 20px;
}
section#form.confirm dt {
    color: #999;
}
section#form.confirm dd {
    font-size: 20px;
}
section#form h2 {
    text-align: center;
    line-height: 1.4;
    margin-bottom: 30px;
}
section#form h2 span {
    font-size: 14px;
    display: block;
}
section#form dt {
    font-weight: bold;
    margin-bottom: 5px;
}
section#form dt span {
    background: #cd0000;
    color: #fff;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: normal;
    margin-left: 10px;
    vertical-align: middle;
}
section#form dd {
    margin-bottom: 20px;
}
section#form .form01, section#form .form02 {
    border-bottom: solid 1px #c8c8c8;
    margin-bottom: 20px;
}
section#form .form01.daySelect {
    display: flex;
    flex-wrap: wrap;
}
section#form .form01.daySelect dt {
    width: 100%;
}
section#form .form01.daySelect dd {
    width: 100%;
}
section#form .form01.daySelect dd.time {
    width: 50%;
    box-sizing: border-box;
}
section#form .form02 ul li {
    background: #e9e9e9;
    padding: 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
section#form .form02 ul li:nth-of-type(even) {
    background: #f9f9f9;
}
section#form .form02 ul li div {
    width: 65%;
}
section#form .form02 ul li div:last-of-type {
    text-align: right;
    width: 35%;
}
section#form .form02 ul li div select {
    width: 70px;
    margin: 0 5px;
}
section#form .form02 ul li:last-of-type div {
    width: 55%;
}
section#form .form02 ul li:last-of-type div:last-of-type {
    width: 45%;
}
section#form .form02 ul li:last-of-type div:last-of-type span {
    display: block;
    margin-bottom: 10px;
}
section#form .form02 ul.option li {
    background: #fff;
    padding: 0;
}
section#form .form02 ul.option li div {
    width: 100% !important;
}
section#form .form02 ul.option li div:last-of-type span {
    display: flex;
    width: 70%;
}
section#form .form02 ul.option li div:last-of-type span label {
    width: 50%;
    text-align: center;
}
section#form .form03 {
    margin-bottom: 60px;
}
/**campaignTop**/
section#campaignTopTit .imgTit {
    background: url("../img/campaign/main_img.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#campaignTopTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#campaignTopTit h1 span {
    font-size: 12px;
    display: block;
}
section#campaignColumn {
    padding: 20px 0;
}
section#campaignColumn p {
    padding: 0 20px;
    margin-bottom: 20px;
}
section#campaignColumn li {
    border-top: solid 1px #000;
    padding: 20px 0;
    position: relative;
}
section#campaignColumn li:before {
    content: "";
    width: 5px;
    height: 5px;
    background: #000;
    border-radius: 5px;
    position: absolute;
    left: 0;
    top: -3px;
}
section#campaignColumn li:after {
    content: "";
    width: 5px;
    height: 5px;
    background: #000;
    border-radius: 5px;
    position: absolute;
    right: 0;
    top: -3px;
}
section#campaignColumn figure p {
    padding: 0;
    margin-bottom: 0;
}
section#campaignColumn figure img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
    overflow: hidden;
    border: solid 1px #ddd;
}
section#campaignColumn figure figcaption {
    padding: 10px 0;
    font-size: 18px;
    font-weight: bold;
}
section#campaignColumn ul {
    background: url("../img/shared/bg_math.png");
    background-size: 5px;
    padding: 20px;
}
/**question**/
section#questionTit .imgTit {
    background: url("../img/question/main_img.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#questionTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#questionTit h1 span {
    font-size: 12px;
    display: block;
}
section#questionList {
    padding: 20px 0;
}
section#questionList dl {
    font-size: 16px;
    margin: 10px 0;
    border-bottom: dotted 1px #ccc;
    padding-bottom: 10px;
}
section#questionList p.read {
    padding: 0 20px 40px 20px;
}
section#questionList ul {
    margin: 0 20px;
    padding: 40px 0;
    position: relative;
    border-top: solid 1px #000;
    counter-reset: questNum;
}
section#questionList ul:before {
    content: "";
    background: #000;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
    left: 0;
    top: -3px;
}
section#questionList ul:after {
    content: "";
    background: #000;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
    right: 0;
    top: -3px;
}
section#questionList ul li {
    position: relative;
    background: #f0f0f0;
    margin-bottom: 50px;
    padding: 10px;
}
section#questionList ul li:before {
    content: "Q "counter(questNum, decimal-leading-zero);
    counter-increment: questNum;
    font-weight: bold;
    font-size: 20px;
    position: absolute;
    left: 0;
    width: 30%;
    text-align: left;
    top: -30px;
    border-bottom: solid 2px #000;
    line-height: 1.4;
    padding: 0 10px;
}
section#questionList ul li:last-of-type {
    margin-bottom: 0;
}
section#questionList ul li a {
    display: block;
    background: #fff;
    padding: 10px;
    overflow: hidden;
}
section#questionList ul li a img {
    width: 100%;
    display: block;
    margin-bottom: 20px;
}
section#questionInfo {
    padding: 20px;
}
#questionInfo .questionBox {
    border: solid 4px #ddd;
    padding: 10px;
    margin: 20px 0 40px 0;
}
#questionInfo .questionBox img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}
.questionBox dt {
    position: relative;
    padding-top: 30px;
    margin-bottom: 10px;
}
.questionBox dt:before {
    font-family: "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
    content: "質問";
    position: absolute;
    left: 0;
    top: 0;
    background: #14b1c2;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    padding: 0 20px;
}
.questionBox dd {
    position: relative;
    padding: 0 0 0 15px;
    color: #9fc668;
}
.questionBox dd:first-of-type {
    padding-top: 30px;
}
.questionBox dd:first-of-type:before {
    font-family: "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
    content: "回答";
    position: absolute;
    left: 0;
    top: 0;
    background: #ec3286;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    padding: 0 20px;
}
.questionBox dd:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 10px;
    background: #9fc668;
    width: 10px;
    height: 10px;
    border-radius: 10px;
}
.questionBox dd:nth-of-type(2):after {
    background: #37a4be;
}
.questionBox dd:nth-of-type(3):after {
    background: #d67878;
}
.questionBox dd:nth-of-type(4):after {
    background: #dcba2e;
}
.questionBox dd:nth-of-type(2) {
    color: #37a4be;
}
.questionBox dd:nth-of-type(3) {
    color: #d67878;
}
.questionBox dd:nth-of-type(4) {
    color: #dcba2e;
}
#questionInfo h2 {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 20px;
}
#questionInfo h2 span {
    border-bottom: solid 2px #000;
}
#questionInfo p {
    margin-bottom: 40px;
}
#questionInfo p.dataPub {
    margin-bottom: 20px;
    text-align: right;
    font-size: 14px;
}
.baseBtn.questionBack {
    margin-top: 40px;
}
/**column**/
section#columnTit .imgTit {
    background: url("../img/column/main_img.avif") center center no-repeat;
    background-size: 100% auto;
    height: 140px;
    padding: 0;
    position: relative;
}
section#columnTit h1 {
    position: absolute;
    text-align: center;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    line-height: 1.4;
}
section#columnTit h1 span {
    font-size: 12px;
    display: block;
    width: 20%;
    margin: 0 auto 5px auto;
    background: #fff;
    color: #000;
    padding: 3px 0;
}
section#columnInfo {
    padding: 20px 0;
}
section#columnInfo a {
    text-decoration: underline;
}
section#columnInfo p.dataPub {
    text-align: right;
    margin-bottom: 20px;
}
section#columnInfo p {
    padding: 0 20px;
    margin-bottom: 40px;
}
section#columnInfo p .phR, section#columnInfo p .phL {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}
section#columnInfo p.infoBtn a, .linkBanar li a.infoBtn {
    display: block;
    text-decoration: none;
    padding: 14px 20px;
    text-align: center;
    color: #fff;
    border: solid 1px #b01259;
    border-radius: 3px;
    background-color: rgb(236, 50, 134);
    box-shadow: 2px 3px 0px 0px rgba(133, 10, 66, 0.4);
}
section#columnInfo p.soldout {
    color: rgb(236, 50, 134);
    text-decoration: none;
    padding: 14px 20px;
    text-align: center;
    border: dashed 1px rgb(236, 50, 134);
    border-radius: 3px;
    margin: 0 20px 40px 20px;
}
section#columnInfo figure img {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}
section#columnInfo figure figcaption {
    padding-left: 20px;
}
section#columnInfo .instaWidget, section#columnInfo .instaHalf {
    padding: 0 20px;
}
section#columnInfo .instaHalf li:not(:last-of-type) {
    margin-bottom: 20px;
}
section#columnInfo h2 {
    padding: 0 20px;
    margin-bottom: 20px;
}
section#columnInfo .instaWidget + h2 {
    margin-top: 30px;
}
section#columnInfo h2 span {
    border-bottom: solid 2px #000;
}
section#columnInfo h3 {
    font-weight: bold;
    margin-bottom: 20px;
    margin-top: 20px;
    font-size: 20px;
    padding: 0 20px;
}
section#columnInfo h3 span {
    border-bottom: dotted 2px #000;
    padding: 10px;
}
section#columnInfo h4 {
    padding: 0 10px;
    font-weight: bold;
}
section#columnInfo ol {
    padding: 0 20px;
    margin-bottom: 20px;
}
section#columnInfo ol li span {
    font-weight: bold;
    font-size: 18px;
    display: block;
}
section#columnInfo ol li {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: dotted 1px #ccc;
}
section#columnInfo ol li:last-of-type {
    margin-bottom: 0;
    border-bottom: none;
}
section#columnInfo .ranking {
    padding: 0 20px;
}
section#columnInfo .ranking li img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 20px;
}
section#columnInfo .ranking li h3 {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 10px;
    padding-left: 0;
}
section#columnInfo .ranking li h3 span {
    background: #000;
    color: #fff;
    font-size: 16px;
    font-weight: normal;
    padding: 2px 10px;
    margin-right: 10px;
    display: block;
    width: 24%;
    text-align: center;
}
section#columnInfo .ranking li p {
    padding: 0;
}
section#columnInfo ul.list {
    padding: 0 20px;
    margin-bottom: 20px;
}
section#columnInfo ul.list li {
    background: #efefef;
    padding: 10px;
    border-radius: 3px;
    margin-bottom: 20px;
}
section#columnInfo ul.list li:last-of-type {
    margin-bottom: 0;
}
section#columnInfo ul.list li span {
    display: block;
    font-weight: bold;
    font-size: 18px;
}
section#columnInfo ol.list li h3 {
    margin-bottom: 10px;
    font-weight: bold;
}
section#columnInfo ol.list li p {
    margin-bottom: 0;
    padding: 0;
}
section#columnInfo ul.boxList {
    margin: 0 20px 40px 20px;
}
section#columnInfo ul.boxList li {
    border: solid 1px #000;
    padding: 15px;
    margin-bottom: 20px;
    font-weight: bold;
}
section#columnInfo .subtit {
    padding: 0 20px;
    margin-bottom: 20px;
    font-weight: bold;
}
section#columnList {
    padding: 20px;
}
section#columnList p {
    margin-bottom: 20px;
}
section#columnList h2 {
    border-top: solid 1px #000;
    padding-top: 20px;
    position: relative;
    font-size: 20px;
    text-align: center;
    margin-bottom: 20px;
}
section#columnList h2:before {
    content: "";
    width: 5px;
    height: 5px;
    position: absolute;
    left: 0;
    top: -3px;
    border-radius: 5px;
    background: #000;
}
section#columnList h2:after {
    content: "";
    width: 5px;
    height: 5px;
    position: absolute;
    right: 0;
    top: -3px;
    border-radius: 5px;
    background: #000;
}
section#columnList ul {
    display: flex;
    flex-wrap: wrap;
}
section#columnList li {
    width: 47%;
    margin-right: 6%;
    position: relative;
    margin-bottom: 25px;
    border: solid 1px #000;
}
section#columnList li:nth-of-type(even) {
    margin-right: 0;
}
section#columnList li:before {
    content: attr(data-num);
    position: absolute;
    left: 10px;
    top: -10px;
    background: #fff;
    line-height: 1;
    font-weight: bold;
}
section#columnList li a {
    padding: 10px;
    display: block;
}
section#columnList li a figure {
    width: 100%;
}
section#columnList li a img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}
section#columnList li a p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.4;
}
section#sitemap ul li a {
    display: block;
    padding: 10px 10px 10px 15px;
    border-bottom: dotted 1px #ccc;
    position: relative;
}
section#sitemap ul li a:before {
    content: "";
    background: #000;
    width: 2px;
    height: 40%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
section#sitemap ul li {
    margin-bottom: 5px;
}
section#sitemap ul li ul {
    margin-top: 5px;
}
section#sitemap ul li ul li {
    padding-left: 30px;
}
#company dl dt {
    border-bottom: solid 1px #ddd;
    padding: 5px;
    font-size: 14px;
}
#company dl dd {
    padding: 5px;
    margin-bottom: 20px;
}
#topNews {
    padding: 20px;
    border: solid 2px #ccc;
    margin: 20px 20px 0 20px;
}
.measures {
    padding: 20px;
    position: relative;
    margin-bottom: 60px;
    background: #f0f0f0;
}
.measures h2 {
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 18px;
    margin-bottom: 20px;
}
.measures p {
    margin-bottom: 20px;
}
.measures ul li {
    margin-bottom: 20px;
}
.measures ul li:last-of-type {
    margin-bottom: 0;
}
.measures ul li img {
    width: 100%;
    height: auto;
}
#maintenance {
    padding: 40px 20px;
    background: #f9f9f9;
    border-bottom: solid 1px #ccc;
}
#maintenance span {
    font-size: 18px;
    font-weight: bold;
    display: block;
    margin: 20px 0;
    color: #009fb9;
}
#gotoInfo {
    padding: 20px;
}
#gotoInfo .gotoLogo {
    width: 50%;
    margin: 0 auto 40px auto;
}
#gotoInfo ul.case {
    display: flex;
    margin-bottom: 20px;
}
#gotoInfo ul.case li {
    width: 46%;
    text-align: center;
    background: #1babde;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    padding: 5px 0;
}
#gotoInfo ul.case li:first-of-type {
    margin-right: 8%;
    position: relative;
}
#gotoInfo ul.case li:first-of-type:before {
    background: #1babde;
    height: 4px;
    width: 10%;
    content: "";
    position: absolute;
    right: -13%;
    top: 50%;
    transform: translateY(-50%);
}
#gotoInfo ul.case li:first-of-type:after {
    background: #1babde;
    height: 14px;
    width: 4px;
    content: "";
    position: absolute;
    right: -9.5%;
    top: 50%;
    transform: translateY(-50%);
}
#gotoInfo .gotoPlan .ph img {
    width: 100%;
    height: auto;
}
#gotoInfo .gotoPlan .gotoPlanInfo {
    background: #f5f5f5;
    padding: 20px;
}
#gotoInfo .gotoPlan .gotoPlanInfo .caseTit {
    text-align: center;
    font-size: 18px;
    color: #1babde;
    margin-bottom: 5px;
}
#gotoInfo .gotoPlan .gotoPlanInfo .caseTit:before {
    content: "";
    width: 3px;
    height: 20px;
    background: #1babde;
    display: inline-block;
    transform: rotate(-15deg);
    margin-bottom: -3px;
    margin-right: 8px;
}
#gotoInfo .gotoPlan .gotoPlanInfo .caseTit:after {
    content: "";
    width: 3px;
    height: 20px;
    background: #1babde;
    display: inline-block;
    transform: rotate(15deg);
    margin-bottom: -3px;
    margin-left: 8px;
}
#gotoInfo .gotoPlan .gotoPlanInfo .caseTit span {
    font-weight: bold;
    font-size: 24px;
}
#gotoInfo .gotoPlan .gotoPlanInfo div {
    background: #1babde;
    padding: 10px;
    text-align: center;
}
#gotoInfo .gotoPlan .gotoPlanInfo div .tit {
    color: #fff;
    font-weight: bold;
    letter-spacing: 1.5px;
    margin-bottom: 10px;
}
#gotoInfo .gotoPlan .gotoPlanInfo div .tit span {
    border-bottom: dotted 4px #fff;
    padding: 5px 0;
}
#gotoInfo .gotoPlan .gotoPlanInfo div ul {
    display: flex;
    justify-content: center;
    font-size: 22px;
    font-weight: bold;
    color: #fff;
}
#gotoInfo .gotoPlan .gotoPlanInfo div ul li {
    width: 50%;
}
#gotoInfo .gotoPlan .gotoPlanInfo div ul li span {
    font-size: 30px;
}
#gotoInfo .gotoPlan .gotoPlanInfo div ul li:first-of-type:after {
    content: ">";
    margin-left: 10px;
}
#gotoInfo .gotoPlan .gotoPlanInfo p.coupon {
    color: #1babde;
    text-align: center;
}
#gotoInfo .gotoPlan .caution p {
    text-align: center;
    padding: 20px 0;
    font-size: 20px;
    font-weight: bold;
    color: #1babde;
}
#gotoInfo .gotoPlan .caution li {
    background: #f5f5f5;
    border-radius: 10px;
    margin-bottom: 5px;
    padding: 10px;
}
#gotoInfo .gotoPlan .caution li:last-of-type {
    margin-bottom: 0;
}
.topAttent {
    margin: 20px;
    padding: 20px;
    border: solid 2px #ccc;
}
.topAttent h2 {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 20px;
}
.topAttent p span {
    font-weight: bold;
}
#reason ul {
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    padding: 20px 0;
}
#reason ul li {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: dotted 1px #ccc;
}
#reason ul li:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
#reason ul li h3 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}
#reason ul li h3:before {
    content: "■";
    font-size: 14px;
    color: #14b1c2;
}
.tableTit {
    padding: 0 20px;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
}
.columnTable {
    padding: 0 20px 20px 20px;
}
.columnTable table {
    width: 100%;
    border-collapse: collapse;
}
.columnTable table thead th {
    width: 50%;
    border-bottom: dotted 1px #ddd;
    padding: 10px;
    font-size: 14px;
}
.columnTable table td {
    text-align: center;
    padding: 10px;
}
.columnTable table tbody tr:nth-of-type(even) {
    background: #f0f0f0;
}
.hikakuTable {
    padding: 0 20px 20px 20px;
}
.hikakuTable thead {
    display: none;
}
.hikakuTable tr {
    display: block;
    width: 100%;
}
.hikakuTable tbody th, .hikakuTable td {
    display: block;
}
.hikakuTable tbody th {
    background: #f0f0f0;
    padding: 5px 10px;
}
.hikakuTable td {
    padding: 10px;
}
.hikakuTable td ul li {
    margin-bottom: 10px;
}
.hikakuTable td ul li:last-of-type {
    margin-bottom: 0;
}
.hikakuTable td:first-of-type {
    border-bottom: dotted 1px #ddd;
}
.hikakuTable td:first-of-type ul li {
    padding-left: 20px;
    background: url("../img/column/ico_maru.svg")left top 5px no-repeat;
    background-size: 16px;
}
.hikakuTable td:last-of-type ul li {
    padding-left: 20px;
    background: url("../img/column/ico_batu.svg")left top 5px no-repeat;
    background-size: 16px;
}
#pixel-viewer {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    animation: fadein 0.2s ease-out both;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    tap-highlight-color: transparent;
}
#pixel-viewer.fadeout {
    animation: fadeout 0.2s ease-out both;
    pointer-events: none;
}
#pixel-viewer.fadeout #pixel-viewer__img {
    animation: scaledown 0.2s ease-out both;
}
#pixel-viewer::before, #pixel-viewer::after {
    content: "";
    dispaly: block;
    width: 24px;
    height: 3px;
    background: #eee;
    border-radius: 4px;
    position: fixed;
    top: 20px;
    right: 12px;
    z-index: 12;
}
#pixel-viewer::before {
    transform: rotate(45deg);
}
#pixel-viewer::after {
    transform: rotate(-45deg);
}
#pixel-viewer__img {
    display: block;
    margin: auto;
    max-width: 80%;
    max-height: 80%;
    animation: scaleup 0.2s ease-out both;
}
.baseList {
    padding: 0 20px;
    margin-bottom: 40px;
}
.baseList li {
    background: #f0f0f0;
    margin-bottom: 10px;
    padding: 10px;
}
.baseTable {
    padding: 0 20px;
    margin-bottom: 40px;
}
.baseTable table {
    width: 100%;
    border-collapse: collapse;
    border-left: solid 1px #ddd;
    border-top: solid 1px #ddd;
}
.baseTable table th {
    border-right: solid 1px #ddd;
    border-bottom: solid 1px #ddd;
    padding: 10px;
    text-align: left;
}
.baseTable table td {
    text-align: right;
    border-right: solid 1px #ddd;
    border-bottom: solid 1px #ddd;
    padding: 10px;
}
.baseTable02 {
    padding: 0 20px;
    margin: 40px 0;
}
.baseTable02 table {
    width: 100%;
    border-collapse: collapse;
}
.baseTable02 table tr {
    display: block;
    width: 100%;
}
.baseTable02 table th {
    display: block;
    width: 100%;
    padding: 5px 10px;
    text-align: left;
    background: #f1f1f1;
}
.baseTable table td, .baseTable02 table td {
    display: block;
    width: 100%;
    padding: 10px;
}
.baseTable02 caption {
    text-align: left;
    margin-bottom: 10px;
    font-weight: bold;
}
@keyframes fadein {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes scaleup {
    0% {
        transform: scale(0.97);
    }
    100% {
        transform: scale(1);
    }
}
@keyframes fadeout {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@keyframes scaledown {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0.97);
    }
}
.icoXls, .icoPdf {
    display: block;
    margin-top: 20px;
    padding-left: 40px;
}
.icoXls {
    background: url("/common/img/suport/xls.avif")left center no-repeat;
    background-size: auto 100%;
}
.icoPdf {
    background: url("/common/img/suport/pdf.avif")left center no-repeat;
    background-size: auto 100%;
}
.columnSubTit01 {
    font-weight: bold;
    font-size: 18px;
    padding-left: 20px !important;
    margin-bottom: 10px;
}
.columnSubTit01:before {
    content: "";
    background: #000;
    height: 2px;
    width: 16px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}
h3.planYukata {
    font-size: 24px !important;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 5px !important;
}
h3.planYukata br {
    display: none;
}
h3.planYukata + p {
    margin-bottom: 0 !important;
    font-size: 16px;
}
.yukataPrice {
    font-size: 18px;
    margin-bottom: 20px !important;
}
.yukataPrice span {
    font-size: 30px;
    font-weight: bold;
}
.yukataPrice + p {
    border-bottom: dotted 1px #ccc !important;
    padding-bottom: 20px !important;
}
.yukataFlow {
    padding: 0 !important;
    counter-reset: countNum;
}
.yukataFlow li {
    counter-increment: countNum;
    border-bottom: none !important;
}
.yukataFlow li h3 {
    position: relative;
    padding-left: 60px !important;
}
.yukataFlow li h3 span {
    border-bottom: none !important;
    display: inline-block !important;
}
.yukataFlow li h3:before {
    content: counter(countNum);
    position: absolute;
    width: 30px;
    height: 30px;
    border: solid 2px #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    left: 20px;
}
.yukataFlow li p {
    margin-bottom: 0 !important;
}
.loadmore {
    margin: 40px auto 20px auto;
    width: 80%;
    text-align: center;
    border-radius: 50px;
    background: #00a0b8;
    color: #fff;
    padding: 10px;
    box-shadow: 2px 3px 0px 0px rgba(0, 160, 184, 0.4);
}
#campaignTit #welPartyTit img, #campaignTit #partyTit img, #campaignTit #hanamiTit img {
    width: 100%;
    height: auto;
}
#partyColumn, #hanamiColumn {
    padding: 40px 20px;
}
#partyColumn h1, #hanamiColumn h1 {
    font-weight: bold;
    font-size: 28px;
    text-align: center;
    line-height: 1.6;
    color: #C15408;
    margin-bottom: 40px;
}
#hanamiColumn h1 {
    color: #ed506b;
    font-size: 22px;
    position: relative;
    text-align: left;
    padding-right: 60px;
    line-height: 1.4;
    border-bottom: dotted 2px #ed506b;
    padding: 0 0 10px 0;
}
#hanamiColumn.welParty h1:before {
    content: "";
    background: url("../img/campaign/ico_beer.webp")center center no-repeat;
    background-size: 100%;
    width: 80px;
    height: 80px;
    position: absolute;
    right: -8px;
    bottom: -36px;
}
#hanamiColumn.welParty h1 {
    color: #2D1403;
    font-size: 22px;
    position: relative;
    text-align: left;
    padding-right: 60px;
    line-height: 1.4;
    border-bottom: dotted 2px #2D1403;
    padding: 0 0 10px 0;
}
#hanamiColumn h1:before {
    content: "";
    background: url("../img/campaign/ico_sakura.webp")center center no-repeat;
    background-size: 100%;
    width: 60px;
    height: 60px;
    position: absolute;
    right: -8px;
    bottom: -20px;
}
#hanamiColumn h2 {
    font-size: 22px;
    margin-bottom: 20px;
}
#hanamiColumn h2 span {
    position: relative;
    z-index: 1;
    padding: 0 10px;
}
#hanamiColumn.welParty h2 span {
    font-size: 20px;
    padding: 0;
}
#hanamiColumn.welParty h2 span:before {
    background: #9bc9b0;
}
#hanamiColumn h2 span:before {
    content: "";
    width: 100%;
    height: 8px;
    background: #ffe4e9;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}
#hanamiBottom h2 span:before {
    display: none;
}
#partyColumn h2, #hanamiBottom h2 {
    font-size: 22px;
    margin-bottom: 20px;
}
#partyColumn h2 span, #hanamiBottom h2 span {
    border-bottom: solid 2px #000;
    padding: 0;
}
#partyColumn p, #hanamiColumn p {
    margin-bottom: 40px;
}
#hanamiColumn p span {
    color: #ed506b;
    font-weight: bold;
}
.partySelect {
    margin-bottom: 60px;
}
.partySelect h3 {
    margin-bottom: 20px;
    margin-top: 30px;
    font-size: 20px;
    position: relative;
    padding: 5px;
    color: #601602;
    border: dotted 2px #601602;
    text-align: center;
    border-radius: 3px;
}
#partyColumn .basePh {
    width: 100%;
    height: auto;
    border-radius: 5px;
    margin-bottom: 20px;
}
#partyColumn h4 {
    color: #601602;
    font-weight: bold;
    padding: 20px 0;
    text-align: center;
    position: relative;
    border-top: solid 1px #ccc;
}
#partyColumn h4:before {
    content: "";
    height: 5px;
    width: 5px;
    background: #777;
    position: absolute;
    border-radius: 50%;
    left: 0;
    top: -2.5px;
}
#partyColumn h4:after {
    content: "";
    height: 5px;
    width: 5px;
    background: #777;
    position: absolute;
    border-radius: 50%;
    right: 0;
    top: -2.5px;
}
.partySelect > li:not(:first-of-type) {
    margin-top: 40px;
}
.partyPlan {
    flex-wrap: wrap;
    display: flex;
    gap: 2%;
    margin-bottom: 20px;
}
.partyPlan.single li {
    width: 100%;
}
.partyPlan li {
    width: 49%;
    margin-bottom: 2%;
}
.partyFlow {
    counter-reset: countNum;
}
.partyFlow li {
    counter-increment: countNum;
}
#partyColumn li .pinkBtn {
    border-radius: 3px;
    box-shadow: 2px 3.464px 0px 0px rgba(200, 200, 200, 1.0);
    width: 100%;
    display: block;
    background: #ec3286;
    color: #fff;
    text-align: center;
    padding: 12px 20px 12px 5px;
    position: relative;
}
.partyFlow li h3 {
    padding-left: 30px;
    position: relative;
    margin-bottom: 10px;
}
.partyFlow li h3:before {
    content: counter(countNum);
    width: 24px;
    height: 24px;
    position: absolute;
    left: 0;
    top: 3px;
    border-radius: 50%;
    border: solid 1px #000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.columnBox #resultList h3 {
    padding: 0 !important;
}
.columnBox #resultList p {
    padding: 0;
}
.attent {
    padding: 20px;
    border: solid 2px #f00;
    margin: 20px;
}
.attent h2 {
    font-size: 22px;
    text-align: center;
    margin-bottom: 20px;
}
.attent p span {
    font-weight: bold;
}
.attent p span {
    font-weight: bold;
}
.attent p span.rborder {
    border: solid 2px #f00;
    display: block;
    padding: 20px;
    color: #f00;
    font-size: 18px;
}
section#columnInfo ul.boxList {
    margin: 0 20px 40px 20px;
}
section#columnInfo ul.boxList li {
    border: solid 1px #000;
    padding: 15px;
    margin-bottom: 20px;
    font-weight: bold;
}
#hanamiPlan div img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}
#hanamiPlan div figure {
    margin: 20px 0;
    position: relative;
}
#hanamiPlan div figure:before {
    content: "";
    background: #ffe0e6;
    position: absolute;
    width: 100%;
    height: 100%;
    right: -10px;
    top: 10px;
    border-radius: 5px;
    z-index: -1;
}
#hanamiPlan div figure:after {
    content: "";
    background: url("../img/campaign/ico_sakura02.webp")center center no-repeat;
    background-size: 100%;
    width: 50px;
    height: 50px;
    position: absolute;
    left: -10px;
    top: -20px;
}
#hanamiColumn.welParty #hanamiPlan div figure:before {
    background: #2e5b42;
}
#hanamiColumn.welParty #hanamiPlan div figure:after {
    display: none;
}
#hanamiPlan div ul li p {
    margin-bottom: 10px;
}
#hanamiPlan > div {
    margin-bottom: 60px;
}
#hanamiPlan div h3 {
    font-weight: bold;
    color: #ed506b;
    font-size: 20px;
}
#hanamiColumn.welParty #hanamiPlan div h3 {
    color: #2e5b42;
    font-size: 24px;
}
#hanamiPlan div p {
    margin-bottom: 20px;
}
#hanamiPlan div ul li p span {
    font-size: 22px;
}
#hanamiPlan div ul li:not(:last-of-type) {
    margin-bottom: 10px;
    padding-bottom: 20px;
    border-bottom: dotted 1px #ed506b;
}
#hanamiColumn.welParty #hanamiPlan div ul li:not(:last-of-type) {
    border-bottom: dotted 1px #813909;
}
#hanamiPlan div ul li a {
    border-radius: 3px;
    box-shadow: 2px 3.464px 0px 0px rgba(200, 200, 200, 1.0);
    width: 100%;
    display: block;
    background: #ec3286;
    border: solid 1px #ec3286;
    color: #fff;
    text-align: center;
    padding: 10px;
    position: relative;
}
#hanamiPlan div ul li a.disabled {
    pointer-events: none;
    opacity: 0.4;
}
#hanamiBottom p a {
    text-decoration: underline;
    color: #ed506b;
}
#hanamiBottom img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}
#hanamiBottom h3 {
    padding: 20px 0 10px 0;
    font-weight: bold;
    font-size: 20px;
    color: #ed506b;
}
#hanamiColumn.welParty #hanamiBottom h3 {
    color: #2e5b42;
}
#hanamiBottom ol {
    counter-reset: countNum;
}
#hanamiBottom ol li {
    counter-increment: countNum;
    background: #fff1e3;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 20px;
}
#hanamiBottom ol li p {
    margin-bottom: 0;
}
#hanamiBottom ol li h4 {
    position: relative;
    padding-left: 30px;
    color: #ed506b;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 10px;
}
#hanamiBottom ol li h4:before {
    content: counter(countNum);
    font-weight: bold;
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    color: #fff;
    background: #ed506b;
}
section#columnInfo .rankingList h3 {
    text-align: center;
}
section#columnInfo .rankingList h3 span {
    background: #000;
    color: #fff;
    width: 120px;
    display: inline-block;
    padding: 0;
    text-align: center;
    font-size: 16px;
    margin-bottom: 5px;
    border-bottom: none;
}
section#columnInfo .rankingBox {
    padding-bottom: 10px;
    box-shadow: 2px 3.464px 5px 0px rgba(200, 200, 200, 1.0);
    margin-bottom: 30px;
}
section#columnInfo .rankingBox > p {
    margin-bottom: 20px !important;
}
section#columnInfo .rankingList h4 {
    font-weight: bold;
    text-align: center;
    font-size: 18px;
    margin-bottom: 10px;
    border-top: dotted 2px #ccc;
    padding-top: 20px;
}
section#columnInfo .rankingList .rankingPrice {
    margin-bottom: 10px;
}
section#columnInfo .rankingList .rankingPrice li p {
    margin-bottom: 0;
    padding: 0;
    width: 64%;
}
section#columnInfo .rankingList .rankingPrice li p .note {
    display: block;
    font-size: 14px;
}
section#columnInfo .rankingList .rankingPrice li {
    display: flex;
    align-items: center;
    padding: 15px 20px;
}
section#columnInfo .rankingList .rankingPrice li .price {
    width: 36%;
    text-align: right;
    font-size: 20px;
    font-weight: bold;
}
section#columnInfo .rankingList .rankingPrice li .price:after {
    content: "円(税込)";
    font-size: 14px;
}
section#columnInfo .rankingList .rankingPrice li:nth-of-type(even) {
    background: #f0f0f0;
}
section#columnInfo .rankingBox a {
    display: block;
    text-align: center;
    text-decoration: none;
    border-radius: 3px;
    box-shadow: 2px 3.464px 0px 0px rgba(200, 200, 200, 1.0);
    width: 100%;
    background: #ec3286;
    color: #fff;
    padding: 12px 20px 12px 5px;
}
section#columnInfo .rankingBox a.disabled {
    opacity: 0.4;
    pointer-events: none;
}
#topBanar ul {
    padding: 20px 20px 0 20px;
}
#topBanar ul li a {
    display: block;
    box-shadow: 5px 5px 4px 0px rgba(0, 0, 0, 0.3);
}
#topBanar ul li:not(:last-of-type) {
    margin-bottom: 20px;
}
#topBanar ul li img {
    width: 100%;
    height: auto;
}
#hanamiColumn.welParty .searchBtn {
    background: #f0f0f0;
    padding: 15px;
    margin-bottom: 40px;
    border-radius: 5px;
}
#hanamiColumn.welParty .searchBtn a {
    display: block;
    text-align: center;
    background: #fff;
    padding: 15px 15px 15px 30px;
    border: solid 1px #000;
    border-radius: 5px;
    font-weight: bold;
    filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.4));
    position: relative;
}
#hanamiColumn.welParty .searchBtn a:before {
    font-family: 'icf' !important;
    speak: none;
    content: "\e91c";
    font-weight: normal;
    font-size: 18px;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}
.restNews {
    padding: 30px 20px;
}
.restNews h2 {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 30px;
}
.restNews p span:last-of-type {
    text-align: right;
    display: block;
}
.restNews p:nth-of-type(2) {
    margin-top: 30px;
}
.restNews p:nth-of-type(2) span:first-of-type {
    text-align: center;
    display: block;
    margin-bottom: 20px;
}
.restNews a {
    display: block;
    background: #f0f0f0;
    margin-top: 20px;
    text-align: center;
    padding: 15px;
    border-radius: 3px;
}
.campaignAlart {
    margin: 20px;
    border: solid 2px #f00;
    padding: 20px;
}
.campaignAlart p {
    font-size: 20px;
    font-weight: bold;
    color: #f00;
    text-align: center;
}
.reserveWait {
    border: solid 2px #f00;
    color: #f00;
    margin: 0 20px 15px 20px !important;
    text-align: center;
    padding: 10px 0 !important;
    font-weight: bold;
}
.footLink {
    margin: 30px 0 20px 0;
}
#useFlow {
    background: url("../img/shared/bg_math.png");
    background-size: auto;
    background-size: 5px;
    padding: 40px 20px 20px 20px;
    position: relative;
    padding-top: 20px;
}
#useFlow > ul {
    counter-reset: flowStep;
}
#useFlow > ul > li {
    counter-increment: flowStep;
    border: solid 1px #000;
    padding: 10px;
    border-radius: 3px;
    position: relative;
    background: #fff;
}
#useFlow > ul > li:nth-of-type(3) span {
    font-weight: bold;
    color: #14B1CD;
}
#useFlow > ul > li:not(:last-of-type) {
    margin-bottom: 40px;
}
#useFlow > ul > li:not(:last-of-type):after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    border-color: #000000 transparent transparent transparent;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -30px;
}
#useFlow > ul > li h3:before {
    content: "STEP"counter(flowStep);
    font-family: hwt-republic-gothic-solid, sans-serif;
    font-weight: normal;
    color: #14B1C2;
    margin-right: 10px;
}
#useFlow > ul > li h3 {
    position: relative;
    font-weight: bold;
    margin-bottom: 10px;
}
#useFlow > ul > li a.searchBtn {
    display: block;
    text-decoration: none;
    padding: 14px 20px;
    text-align: center;
    color: #fff;
    border: solid 1px #b01259;
    border-radius: 3px;
    background-color: rgb(236, 50, 134);
    box-shadow: 2px 3px 0px 0px rgba(133, 10, 66, 0.4);
    margin-top: 20px;
}
#useFlow > ul > li a.searchBtn:before {
    width: 20px;
    height: 20px;
    font-family: 'icf' !important;
    speak: none;
    content: "\e91c";
    font-weight: normal;
    margin-right: 10px;
}
#useFlow > ul > li > div {
    margin-top: 20px;
}
#useFlow > ul > li > div h4 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 5px 0;
}
#useFlow > ul > li:nth-of-type(2) div:first-of-type h4 {
    border: solid 1px #14B1C2;
    color: #14B1C2;
}
#useFlow > ul > li:nth-of-type(2) div:nth-of-type(2) h4 {
    border: solid 1px #f1940d;
    color: #f1940d;
}
#useFlow > ul > li:nth-of-type(2) div:nth-of-type(3) h4 {
    border: solid 1px #b21f1f;
    color: #b21f1f;
}
#useFlow > ul > li:nth-of-type(2) div:first-of-type span {
    color: #14B1C2;
}
#useFlow > ul > li:nth-of-type(2) div:nth-of-type(2) span {
    color: #f1940d;
}
#useFlow > ul > li:nth-of-type(2) div:nth-of-type(3) span {
    color: #b21f1f;
}
#useFlow .telBox {
    background: #f3f3f3;
    padding: 15px;
    margin-top: 20px;
}
#useFlow .telBox p:first-of-type {
    border-bottom: solid 1px #000;
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: bold;
}
#useFlow .telBox a {
    display: block;
    font-size: 30px;
    font-weight: bold;
    position: relative;
    padding-left: 25px;
    line-height: 1;
}
#useFlow .telBox a:before {
    content: "";
    background: url("../img/suport/ico_tel.avif")no-repeat;
    background-size: 20px;
    width: 20px;
    height: 20px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#useFlow .telBox p:nth-of-type(2) {
    font-size: 13px;
    margin-bottom: 20px;
}
#useFlow .telBox p:last-of-type {
    font-size: 14px;
    font-weight: bold;
}
#useFlow .telBox ul {
    counter-reset: telNo;
    display: flex;
    flex-wrap: wrap;
}
#useFlow .telBox ul li {
    font-size: 14px;
    font-weight: bold;
    position: relative;
    padding-left: 17px;
    margin-right: 10px;
}
#useFlow .telBox ul li:before {
    content: "";
    width: 15px;
    height: 15px;
    border-radius: 20px;
    background: #000;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
#useFlow .telBox ul li:after {
    counter-increment: telNo;
    content: counter(telNo);
    position: absolute;
    font-size: 12px;
    left: 4px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
}
#useFlow .info div {
    position: relative;
    margin: 20px 0 0 0;
    padding: 20px 0 0 0;
}
#useFlow .info div:before {
    content: "";
    background: #000;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    top: 0;
}
#useFlow .info h4 {
    color: #00a0b8;
    font-weight: bold;
    margin-bottom: 10px;
    position: relative;
}
#useFlow .info h4:before {
    content: "";
    background: #000;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
    left: 0;
    top: -23px;
}
#useFlow .info h4:after {
    content: "";
    background: #000;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
    right: 0;
    top: -23px;
}
#useFlow .info img {
    width: 100%;
    height: auto;
}
#estimateBlock {
    padding: 40px 20px;
}
#estimateBlock p:first-of-type {
    margin-bottom: 20px;
}
#estimateBlock p.info {
    background: #f0f0f0;
    padding: 20px;
    border-radius: 5px;
}
#estimateBlock a {
    display: block;
    text-decoration: none;
    padding: 14px 20px;
    text-align: center;
    color: #fff;
    border: solid 1px #14B1C2;
    border-radius: 3px;
    background-color: #14B1C2;
    box-shadow: 2px 3px 0px 0px rgba(9, 120, 132, 0.4);
    margin-top: 20px;
}
#estimateBlock a:after {
    width: 20px;
    height: 20px;
    font-family: 'icf' !important;
    speak: none;
    content: "\e91b";
    font-weight: normal;
    margin-left: 10px;
}
.phRBox {
    margin-bottom: 20px;
}
.phRBox img {
    width: 100%;
    height: auto;
}
.monjaFaq li:not(:last-of-type) {
    margin-bottom: 20px;
}
.monjaFaq li h3 {
    font-size: 18px !important;
    padding: 10px 0 !important;
}
.monjaFaq li h3:before {
    content: "Q.";
}
.monjaFaq li {
    border-radius: 5px;
    border: solid 1px #ccc;
    padding: 10px;
}
.monjaFaq li p {
    margin-bottom: 0 !important;
}
.planBox:not(:last-of-type) {
    margin-bottom: 60px;
}
.planBox img {
    width: 100%;
    height: auto;
}
.planBox h3 {
    font-weight: bold;
    padding: 0 0 0 15px;
    margin-bottom: 20px;
    position: relative;
}
.planBox h3:before {
    content: "";
    width: 5px;
    height: 80%;
    position: absolute;
    background: #C15408;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.planBox p {
    padding: 20px 0 0 0;
}
.planBox .baseTable02 {
    padding: 0;
    margin-bottom: 0;
}
.planBox a {
    display: block;
    text-decoration: none;
    padding: 14px 20px;
    text-align: center;
    color: #fff;
    border: solid 1px #b01259;
    border-radius: 3px;
    background-color: rgb(236, 50, 134);
    box-shadow: 2px 3px 0px 0px rgba(133, 10, 66, 0.4);
}
#newsList {
    padding: 40px 20px;
}
#newsList h2 {
    text-align: center;
    font-weight: bold;
    margin-bottom: 20px;
}
#newsList li {
    position: relative;
    padding-left: 15px;
}
#newsList li span {
    display: block;
    color: #14B1C2;
}
#newsList li:not(:last-of-type) {
    margin-bottom: 10px;
    padding-bottom: 10px;
}
#newsList li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 4px;
    background: #14B1C2;
}
#newsList li a {
    font-weight: bold;
}
.trainRoute img {
    width: 100%;
    height: auto;
}
.trainRoute {
    display: block;
}
.planTit{
	font-weight: bold;
	padding: 0 20px;
	color: #EC3286;
	line-height: 1.6;
	margin-bottom: 10px;
}
@media screen and (min-width: 1160px) {
    /** shared **/
    .baseTit {
        font-size: 40px;
        padding: 40px 0 60px 0;
    }
    .baseTit span {
        font-size: 16px;
    }
    .subTit01 {
        padding: 0;
        font-size: 46px;
        margin-bottom: 40px;
    }
    .subTit01.selectPlan:after {
        background: url("../img/shared/tit_selectplan.png")left top no-repeat;
        background-size: 162px 96px;
        width: 162px;
        height: 96px;
        top: -30px;
        right: auto;
        margin-left: -102px;
    }
    .subTit02 {
        font-size: 26px;
        text-align: left;
    }
    .subTit02:before {
        left: -38px;
        transform: translateY(-50%);
        top: 50%;
    }
    .subTit02 span:before {
        display: none;
    }
    .subTit02 span:after {
        display: none;
    }
    .eng {
        text-align: left;
        font-size: 12px;
    }
    .asideTit {
        position: static;
        font-size: 28px;
        margin-bottom: 20px;
        padding: 20px 0 0 60px;
    }
    .asideTit:before {
        top: 20px;
        left: 20px;
        transform: translateY(0) rotate(20deg);
    }
    aside ul li:first-of-type:before, aside ul li:first-of-type:after {
        display: block;
    }
    aside ul {
        display: flex;
        flex-wrap: wrap;
    }
    aside ul li:first-of-type {
        width: 49%;
    }
    aside ul li {
        padding: 10px;
        width: 23.5%;
        margin-right: 2% !important;
    }
    aside ul li:last-of-type, aside ul li:nth-of-type(3) {
        margin-right: 0 !important;
    }
    aside ul li p {
        font-size: 14px;
        padding: 10px;
    }
    aside ul li:first-of-type p:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 10px;
        height: 10px;
        border-left: solid 1px #000;
        border-top: solid 1px #000;
    }
    aside ul li:first-of-type p:after {
        content: "";
        position: absolute;
        right: 0;
        top: 0;
        width: 10px;
        height: 10px;
        border-right: solid 1px #000;
        border-top: solid 1px #000;
    }
    aside ul li h4 {
        font-size: 18px;
        padding: 20px 0 10px 0;
    }
    aside ul li:nth-of-type(1) ~ li:hover {
        background: url("../img/shared/bg_top_other.png") left top, #fff;
    }
    .inner {
        width: 1200px;
        margin: 0 auto;
    }
    .inner.topColumn {
        display: flex;
        padding: 80px 0;
    }
    .inner.topColumn section {
        width: 48%;
        margin-right: 4%;
    }
    .inner.topColumn .baseBtn {
        width: 60%;
        margin-bottom: 20px;
    }
    section {
        padding: 80px 0px 20px 0px;
    }
    section.sectionPad02 {
        padding: 40px 0 20px 0;
    }
    section.sectionPad03 {
        padding: 0 0 0 38px;
        margin-right: 0 !important;
    }
    section.sectionUnder {
        padding: 0 0 0 38px;
        border-bottom: none;
        position: relative;
    }
    section.sectionUnder:after {
        content: "";
        width: 1px;
        background: #ccc;
        height: 100%;
        position: absolute;
        right: -4%;
        top: 0;
    }
    section.titArea {
        width: 1200px;
        margin: 0 auto;
    }
    section#bookingTit {
        background-size: cover;
        height: 280px;
    }
    section#bookingTit:after {
        background: url("../img/shared/line_split.png") center center no-repeat;
    }
    section#bookingTit h1 {
        font-size: 40px;
    }
    section#bookingTit h1 span {
        font-size: 16px;
    }
    section#telModule {
        padding: 10px 0;
        width: 1200px;
        margin: 0 auto;
        display: flex;
        justify-content: flex-end;
        border-bottom: none;
    }
    section#telModule p {
        font-size: 22px;
        display: flex;
        align-items: center;
        line-height: 1.8;
    }
    section#telModule p:last-of-type {
        font-size: 16px;
    }
    section#telModule address {
        font-size: 36px;
        margin: 0 10px;
        line-height: 1.8;
    }
    .meshBox {
        background: url("../img/shared/bg_math.png");
        background-size: 5px;
        padding: 0 0 40px 0;
    }
    .meshBox h2 {
        font-size: 46px;
        padding-top: 110px;
        margin-bottom: 50px;
    }
    .meshBox h2:before {
        width: 120px;
        height: 120px;
        border-radius: 120px;
        top: -60px;
    }
    .meshBox h2:after {
        font-family: 'icf' !important;
        speak: none;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: -50px;
        font-size: 55px;
    }
    .meshBox h2 span:before {
        content: "";
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: 30px;
    }
    .meshBox h2.icoBook span:before {
        background: url("../img/shared/tit_article.png")left top no-repeat;
        background-size: 100%;
        width: 174px;
        height: 62px;
    }
    .baseBtn:hover {
        background: #000;
        color: #fff;
    }
    /** top **/
    .selectPlanTxt {
        text-align: center;
    }
    #selectPlanList {
        width: 100%;
        margin-left: 0;
        display: flex;
        flex-wrap: wrap;
    }
    #selectPlanList li {
        width: 31.3%;
        position: relative;
        height: auto;
        margin-right: 3%;
        margin-bottom: 80px;
        padding-bottom: 60px;
    }
    #selectPlanList li:nth-of-type(3n) {
        margin-right: 0;
    }
    #selectPlanList li .img:after {
        display: none;
    }
    #selectPlanList li:nth-of-type(2) .img:after, #selectPlanList li:nth-of-type(4) .img:after, #selectPlanList li:nth-of-type(5) .img:after {
        display: none;
    }
    #selectPlanList li img {
        width: 100%;
        height: auto;
        position: static;
        border-right: solid 4px #fff;
        border-bottom: solid 4px #fff;
        -moz-box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.2);
        -webkit-box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.2);
        -ms-box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.2);
        box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.2);
    }
    #selectPlanList li .box {
        background: none;
        position: static;
        width: 100%;
        transform: none;
        padding: 0;
    }
    #selectPlanList li h3 {
        padding: 30px 0 10px 0 !important;
        font-size: 28px;
        font-weight: bold;
        display: block;
        padding-bottom: 0;
        border-bottom: none;
    }
    #selectPlanList li p {
        padding: 10px 0 20px 0;
    }
    #selectPlanList li p.price {
        position: static;
        background: none;
        color: #00a0b8;
        padding: 0;
        font-size: 34px;
    }
    #selectPlanList li p.price span {
        font-size: 16px;
        margin-right: 10px;
        width: 50px;
        display: inline-block;
        border: solid 1px #00a0b8;
        border-radius: 3px;
        padding: 4px;
        text-align: center;
    }
    #selectPlanList li .baseBtn {
        position: absolute;
        bottom: 0;
        width: 90%;
        margin: 0 5%;
    }
    .featureList {
        display: flex;
        flex-wrap: wrap;
        counter-reset: number;
    }
    .featureList li {
        width: 49%;
        margin-right: 2%;
        border: solid 2px #000;
        background: #fff;
    }
    .featureList li a {
        border: solid 1px #000;
        display: flex;
        position: relative;
    }
    .featureList li figure {
        border: none;
        position: relative;
        width: 180px;
        height: auto;
    }
    .featureList li div {
        width: calc(100% - 180px);
        padding: 20px 20px 20px 30px;
    }
    .featureList li p.txt {
        display: block;
        border: none;
        padding: 0;
        font-size: 16px;
    }
    .featureList li p.tit {
        position: static;
        text-align: left;
        font-weight: bold;
        font-size: 24px;
        border: none;
    }
    .featureList li p.tit:before {
        content: "";
        background: #fff;
        width: 50px;
        height: 50px;
        border-radius: 50px;
        position: absolute;
        left: 155px;
        transform: none;
        top: 15px;
    }
    .featureList li p.tit:after {
        font-family: hwt-republic-gothic-solid, sans-serif;
        counter-increment: number;
        content: counter(number, decimal-leading-zero);
        position: absolute;
        left: 165px;
        transform: none;
        top: 18px;
    }
    /** result **/
    .result {
        display: flex;
        padding: 0;
        margin-bottom: 50px;
    }
    .result select {
        width: 20%;
    }
    .result p span {
        font-size: 30px;
    }
    #resultList article.presents {
        border: dotted 4px #ec3286;
    }
    #resultList article.presents:before {
        position: absolute;
        left: 20px;
        top: -25px;
        content: "";
        width: 200px;
    }
    #resultList article.presents .planNo {
        left: 230px;
        top: -20px;
        padding: 0 5px;
    }
    #resultList article.presents .ship {
        top: -20px;
    }
    #resultList article {
        padding: 30px 20px 20px 20px;
        position: relative;
        margin-bottom: 100px;
    }
    #resultList article:after {
        background: url("../img/shared/line_split.png") center center no-repeat;
        background-size: 100% auto;
        bottom: -50px;
        clear: both;
        display: block;
    }
    #resultList article .planNo {
        font-size: 18px;
    }
    #resultList article .ship {
        font-size: 18px;
        position: absolute;
        right: 0;
        top: -14px;
        background: #fff;
        padding: 0 20px 5px 20px;
    }
    #resultList article .ship span {
        font-size: 16px;
    }
    #resultList article .food {
        width: 40%;
    }
    #resultList article h2 {
        font-size: 30px;
        margin-right: 35%;
    }
    #resultList article figure {
        width: 32%;
        position: absolute;
        right: 20px;
        top: 90px;
    }
    #resultList article figure img {
        border: solid 1px #000;
        box-shadow: 5px 5px 4px 0px rgba(0, 0, 0, 0.2);
    }
    #resultList article .planTxt {
        margin-right: 35%;
    }
    #resultList article .priceList {
        margin-right: 35%;
        padding: 20px 0;
    }
    #resultList article .priceList:before {
        font-size: 20px;
        top: -20px;
    }
    #resultList article .priceList:after {
        width: 10%;
    }
    #resultList article .priceList li {
        font-size: 18px;
    }
    #resultList article .priceList li .tax {
        font-size: 14px;
    }
    #resultList article .priceList li .price {
        font-size: 30px;
    }
    #resultList article .infoBtn {
        margin-right: 35%;
    }
    #resultList article .infoBtn a {
        width: 90%;
        margin: 0 auto;
    }
    #resultList article .infoBtn a:hover {
        background: #f776b0;
    }
    #resultList article .review {
        margin-top: 50px;
        padding: 30px 20px 20px 20px;
        font-size: 16px;
    }
    #resultList article .review span {
        top: -30px;
        font-size: 20px;
    }
    #resultList article .review span span {
        font-size: 30px;
    }
    /** planInfo **/
    .planInfo h1.baseTit {
        text-align: left;
        padding-bottom: 10px;
        font-size: 34px;
    }
    .planInfo .planNo {
        left: 0;
        font-size: 18px;
    }
    .planInfo .ship {
        top: 0;
        padding: 0;
        font-size: 18px;
    }
    .planInfo .ship span {
        font-size: 16px;
    }
    .planInfo .food {
        padding: 0;
        width: 40%;
        margin-bottom: 40px;
    }
    .planInfo .planPrice {
        margin-bottom: 0;
        width: 600px;
    }
    .planInfo .infoDetails {
        width: 560px;
    }
    .planInfo .planPrice:before {
        display: none;
    }
    .planInfo .planColumn {
        display: flex;
        position: relative;
        margin-bottom: 30px;
    }
    .planInfo .planColumn:after {
        content: "";
        background: url("../img/shared/line_split.png") center center no-repeat;
        background-size: auto 5px;
        height: 5px;
        width: 100%;
        position: absolute;
        bottom: -30px;
        left: 0;
    }
    .planInfo .planPrice figure img {
        border: solid 1px #000;
    }
    .planInfo .planPrice .priceList {
        margin-top: 20px;
    }
    .planInfo .planDetails {
        width: 600px;
    }
    .planInfo .planDetails:after {
        display: none;
    }
    #btnStatic {
        padding: 20px;
        position: relative;
        margin-bottom: 50px;
    }
    #btnStatic:after {
        background: url("../img/shared/line_split.png") center center no-repeat;
    }
    .planSubmit {
        position: static;
        padding: 10px 80px;
        border-top: none;
    }
    .planSubmit.static {
        position: static;
        border-top: none;
        padding: 0;
    }
    .planSubmit a {
        padding: 20px;
    }
    .planSubmit a span {
        display: inline-block;
        font-size: 14px;
        margin-left: 5px;
    }
    .planSubmit a:hover {
        background: #f776b0;
    }
    .userVoice {
        display: flex;
        flex-wrap: wrap;
    }
    .userVoice h2 {
        font-size: 24px;
        margin-bottom: 40px;
        width: 100%;
    }
    .userVoice div {
        width: 32%;
        margin-right: 2%;
        counter-increment: number 1;
        background: #f1f1f1;
        padding: 30px 20px 20px 20px;
        position: relative;
        margin-bottom: 20px;
    }
    .userVoice div:nth-of-type(3n) {
        margin-right: 0;
    }
    .userVoice div:last-of-type {
        margin-bottom: 20px;
    }
    .userVoice .ph {
        height: 300px;
    }
    /** form **/
    .formPad dl.inputList {
        width: 80%;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 60px;
    }
    .formPad .inputList dt {
        display: flex;
        align-items: center;
        width: 30%;
        padding: 30px 0;
        border-bottom: dotted 1px #bbb;
    }
    .formPad .inputList.survey {
        display: block;
    }
    .formPad .inputList.survey dt {
        width: 100%;
        border-bottom: none;
        padding: 30px 0 0 0;
        padding-right: 90px;
        align-items: flex-start;
    }
    .formPad .inputList.survey dd {
        width: 100%;
    }
    .formPad .inputList.survey dt span.req {
        position: absolute;
        right: 20px;
        top: 26px;
        width: 60px;
        text-align: center;
    }
    .formPad .inputList.survey dd .checkBox {
        display: flex;
        flex-wrap: wrap;
    }
    .formPad .inputList.survey dd .checkBox li label {
        padding: 14px 14px 14px 35px;
    }
    .formPad .inputList.survey dd .checkBox li input[type="radio"] + label {
        padding: 14px 18px 14px 50px;
    }
    .formPad .inputList.survey dd .checkBox li {
        margin-bottom: 0;
        margin: 0 10px 10px 0;
    }
    .formPad .surveyTit {
        width: 80%;
        margin: 0 auto;
        font-size: 20px;
        border-bottom: solid 1px #000;
        border-top: solid 1px #000;
        padding: 20px 0;
    }
    .formPad .inputList.survey dd .ph img {
        width: auto;
        height: 300px;
    }
    .formPad .inputList dt:last-of-type {
        border-bottom: none;
    }
    .formPad .inputList dt span.tit {
        border-bottom: none;
        padding-bottom: 0;
    }
    .formPad .inputList dd {
        width: 70%;
        padding: 30px 0;
        margin-bottom: 0;
    }
    .formPad .inputList dd:last-of-type {
        margin-bottom: 0;
    }
    .formPad .inputList dd .passenger {
        width: 100%;
        margin-bottom: 0;
        display: flex;
        flex-wrap: nowrap;
    }
    .formPad .inputList dd .passenger dt {
        width: 10%;
        border-bottom: none;
    }
    .formPad .inputList dd .passenger dd {
        width: 12%;
        margin-right: 2%;
    }
    .formBtn {
        display: flex;
        justify-content: center;
    }
    .formBtn:before {
        background: url("../img/shared/line_split.png") center center no-repeat;
        background-size: auto 5px;
    }
    .formBtn:after {
        background: url("../img/shared/line_split.png") center center no-repeat;
        background-size: auto 5px;
    }
    .formBtn li:first-of-type {
        order: 2;
        margin-bottom: 0;
        width: 50%;
        margin-left: 2%;
    }
    .formBtn li:first-of-type input:hover, input.baseSubmit:hover {
        background: #f776b0;
    }
    .formBtn li input {
        padding: 17.5px 10px 17.5px 10px;
    }
    .formBtn li input:hover {
        background: #ebebeb;
    }
    .formBtn li {
        width: 10%;
    }
    .amount {
        padding-bottom: 80px;
    }
    .amount h3 {
        padding: 5px;
    }
    .amount h3:first-of-type {
        margin-bottom: 20px;
    }
    .amount .subTotal:first-of-type {
        margin-bottom: 20px;
        flex-wrap: nowrap;
        justify-content: center;
    }
    .amount .subTotal:first-of-type dt {
        width: auto;
        border: dotted 2px #bbb;
        border-right: none;
        padding: 20px;
        font-size: 18px;
        margin-right: 0;
    }
    .amount .subTotal:first-of-type dd {
        width: auto;
        margin-right: 2%;
        border: dotted 2px #bbb;
        border-left: none;
        padding: 20px 20px 20px 0;
    }
    .amount .subTotal:first-of-type dd span {
        font-size: 24px;
    }
    .amount .subTotal:first-of-type dd:last-of-type {
        margin-right: 0;
    }
    .amount .subTotal {
        justify-content: center;
    }
    .amount .subTotal dt {
        width: auto;
        margin-right: 2%;
        border-bottom: none;
    }
    .amount .subTotal dd {
        width: auto;
        border-bottom: none;
    }
    .amount .subTotal dd span {
        font-size: 24px;
    }
    .amount h3.total {
        margin-bottom: 20px;
    }
    .amount p.total {
        text-align: center;
        border: dotted 2px #ec3286;
    }
    .amount p.total span {
        font-size: 40px;
    }
    .amount h4 {
        text-align: left;
    }
    .amount.conf {
        width: 1200px;
        margin: 0 auto;
    }
    .amount.conf:before {
        background: url("../img/shared/line_split.png") center center no-repeat;
        background-size: auto 5px;
    }
    .amount.conf .backBtn, .userConf .backBtn {
        width: 30%;
        margin: 0 auto;
        display: block;
        padding: 15px 0;
    }
    .userConf .inner {
        width: 80%;
    }
    .userConf:before {
        background: url("../img/shared/line_split.png") center center no-repeat;
        background-size: auto 5px;
    }
    .kiyaku {
        padding: 20px 0 !important;
    }
    .kiyaku .inner {
        display: flex;
        flex-wrap: wrap;
    }
    .kiyaku .inner div {
        width: 49%;
        margin-right: 2%;
    }
    .kiyaku .inner div:nth-of-type(even) {
        margin-right: 0;
    }
    .kiyaku .inner div:nth-of-type(2) ~ div {
        margin-bottom: 0;
    }
    .finishStep div {
        width: 1200px;
        margin: 0 auto;
        padding: 20px;
    }
    .finishStep div p {
        margin-bottom: 20px;
        font-size: 20px;
        text-align: center;
    } /**station**/
    section#stationTit.titArea {
        width: 100%;
    }
    section#stationTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
section#stationTit .imgTit.asakusa {
    background: url("../img/station/tit_asakusa.webp") center center no-repeat;
    background-size: cover;
	background-position: right center;
	height:440px;
}
	section#stationTit .imgTit.adumabashi{
    background: url("../img/station/tit_adumabashi.webp") center center no-repeat;
    background-size: cover;
	background-position: right center;
	height:440px;
	}
section#stationTit .imgTit.asakusabashi {
    background: url("../img/station/tit_asakusabashi.webp") center center no-repeat;
    background-size: cover;
	background-position: right center;
	height:440px;
}
section#stationTit .imgTit.aomi {
    background: url("../img/station/tit_bigsite.webp") center center no-repeat;
    background-size: cover;
	background-position: right center;
	height:440px;
}
    section#stationTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#stationTit h1 span {
        font-size: 16px;
    }
    section#stationColumn .stationSubTit,section#stationTop .stationSubTit {
        font-size: 28px;
        font-weight: bold;
        text-align: center;
        width: 100%;
        padding: 40px 0 10px 0;
    }
    section p.pageTxt {
        font-size: 18px;
        padding: 30px 0;
    }
    section#stationColumn .inner {
        display: flex;
        flex-wrap: wrap;
    }
    section#stationColumn .stationBlock {
        background: url("../img/shared/bg_math.png");
        background-size: 5px;
    }
    section#stationColumn .stationBlock:first-of-type {
        width: 64%;
        margin-right: 2%;
        order: 1;
    }
    section#stationColumn .stationBlock:first-of-type ul, section#stationColumn .stationBlock:last-of-type ul {
        display: flex;
        flex-wrap: wrap;
    }
    section#stationColumn .stationBlock:first-of-type ul li:first-of-type {
        width: 100%;
    }
    section#stationColumn .stationBlock:first-of-type ul li:first-of-type figure {
        width: 49%;
        float: left;
    }
    section#stationColumn .stationBlock:first-of-type ul li:first-of-type a, section#stationColumn .stationBlock:first-of-type ul li:first-of-type p {
        margin-left: 51%;
        width: 49% !important;
    }
    section#stationColumn .stationBlock:first-of-type ul li:nth-last-of-type(2) {
        margin-bottom: 0;
    }
    section#stationColumn .stationBlock:first-of-type ul li:first-of-type:after {
        content: "";
        display: block;
        clear: both;
    }
    section#stationColumn .stationBlock:nth-of-type(4) ul, section#stationColumn .stationBlock:nth-of-type(5) ul {
        display: flex;
        flex-wrap: wrap;
    }
    section#stationColumn .stationBlock:nth-of-type(5) ul li {
        width: 49%;
        margin-right: 2%;
        margin-bottom: 0;
    }
    section#stationColumn .stationBlock:nth-of-type(5) ul li:last-of-type {
        margin-right: 0;
    }
    section#stationColumn .stationBlock:first-of-type ul li, section#stationColumn .stationBlock:nth-of-type(4) ul li {
        width: 49%;
        margin-right: 2%;
    }
    section#stationColumn .stationBlock:first-of-type ul li:nth-of-type(odd), section#stationColumn .stationBlock:nth-of-type(4) ul li:nth-of-type(even) {
        margin-right: 0;
    }
    section#stationColumn .stationBlock:nth-of-type(2) {
        width: 32%;
        order: 3;
        margin-right: 2%;
    }
    section#stationColumn .stationBlock:nth-of-type(3) {
        width: 32%;
        margin-right: 2%;
        order: 2;
    }
    section#stationColumn .stationBlock:nth-of-type(4) {
        width: 64%;
        order: 4;
    }
    section#stationColumn .stationBlock:last-of-type {
        width: 100%;
        order: 5;
    }
    section#stationColumn .stationBlock h2 {
        padding-top: 40px;
        margin-bottom: 30px;
        font-size: 26px;
    }
    section#stationColumn .stationBlock h2 span {
        font-size: 20px;
        top: -18px;
    }
    section#stationColumn .stationBlock li {
        padding: 15px;
    }
    section#stationColumn .stationBlock li p {
        font-size: 14px;
    }
    section#stationColumn .stationBlock li:nth-of-type(7) {
        margin-bottom: 0;
    }
    section#stationColumn #stationInfo {
        display: flex;
        flex-wrap: wrap;
        padding: 70px 20px 40px 20px;
        position: relative;
        margin-top: 40px;
    }
    section#stationColumn #stationInfo:before {
        width: 100px;
        height: 100px;
        border-radius: 100px;
        top: -60px;
    }
    section#stationColumn #stationInfo:after {
        background-size: 104px 38px;
        width: 104px;
        height: 38px;
        top: 35px;
    }
    section#stationColumn #stationInfo .stationSubTit01 {
        width: 100%;
        font-size: 34px;
    }
    section#stationColumn #stationInfo .stationSubTit01:before {
        font-size: 70px;
        top: -130px;
    }
    section#stationColumn #stationInfo .spotList {
        width: 100%;
    }
	section#stationTop .spotList{
		padding: 0;
	}
    section#stationColumn #stationInfo ul,section#stationTop .spotList ul {
        display: flex;
        flex-wrap: wrap;
        width: 1200px;
        margin: 0 auto;
    }
    section#stationColumn #stationInfo li,section#stationTop .spotList li {
        width: 49%;
        margin-right: 2%;
    }
    section#stationColumn #stationInfo li:nth-of-type(even),section#stationTop .spotList li:nth-of-type(even) {
        margin-right: 0;
    }
    section#stationColumn #stationInfo h3.stationSubTit02 {
        color: #00a0b8;
        font-weight: bold;
        font-size: 24px;
        margin: 20px 0 20px 0;
        width: 100%;
    }
    section.sectionColumn ul {
        display: flex;
        flex-wrap: wrap;
    }
    section.sectionColumn li {
        width: 49%;
        margin-right: 2%;
    }
    section.sectionColumn li:nth-of-type(even) {
        margin-right: 0;
    }
    /**route**/
    section#routeTit.titArea {
        width: 100%;
    }
    section#routeTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#routeTit .txtTit {
        height: 228px;
        position: relative;
        margin-bottom: 20px;
        border-bottom: solid 1px #ddd;
        border-top: solid 1px #ddd;
    }
    section#routeTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#routeTit h1 span {
        font-size: 16px;
    }
    section#routeTit .subTit {
        font-size: 28px;
        padding: 40px 0;
    }
    section#routeTit .courseTxt {
        padding: 0 0 40px 0;
    }
    section#stationColumn #stationInfo {
        display: flex;
        flex-wrap: wrap;
        padding: 70px 20px 40px 20px;
        position: relative;
        margin-top: 40px;
    }
    section#stationColumn .inner.noflex {
        display: block;
    }
    section#stationColumn .inner.noflex .smallPh {
        width: 400px;
        height: auto;
        float: right;
        margin: 0 0 20px 20px;
    }
    section#stationColumn .stationAddColumn {
        margin-top: 40px;
        padding-top: 30px;
        border-top: dotted 1px #ccc;
    }
    section#stationColumn .stationAddColumn h2 {
        font-size: 26px;
    }
    section#stationColumn .stationAddColumn h3 {
        margin: 30px 0 10px 0;
    }
    section#stationColumn #stationInfo h3.subTit03 {
        font-weight: bold;
        font-size: 20px;
        color: #00A0B8;
        margin-top: 20px;
        margin-bottom: 10px;
    }
    section#stationColumn #stationInfo p + h3.subTit03 {
        margin-top: 40px;
    }
    #routeTop:before {
        width: 100px;
        height: 100px;
        border-radius: 100px;
        top: -60px;
    }
    #routeTop:after {
        background-size: 127px 38px;
        width: 127px;
        height: 38px;
        top: 35px;
    }
    #routeTop {
        background: url("../img/shared/bg_math.png");
        background-size: 5px;
        padding: 90px 0 40px 0;
        position: relative;
    }
    #routeTop h2 {
        width: 100%;
        font-size: 34px;
        margin-bottom: 60px;
    }
    #routeTop h2:before {
        font-size: 70px;
        top: -160px;
    }
    #routeTop .inner {
        display: flex;
        flex-wrap: wrap;
    }
    #routeTop .inner article {
        width: 30%;
        margin-right: 5%;
        margin-bottom: 80px;
    }
    #routeTop .inner article:nth-of-type(3) ~ article {
        margin-bottom: 0;
    }
    #routeTop .inner article:nth-of-type(3n) {
        margin-right: 0;
    }
    #routeTop .routeList .point {
        font-weight: bold;
    }
    #routeTop .routeList .point.longword {
        width: 82%;
        padding: 0;
    }
    #routeTop .routeList .tips {
        top: 30px;
        font-size: 18px;
    }
    #routeTop .routeList h3 {
        font-size: 26px;
        padding-top: 70px;
        margin-bottom: 30px;
    }
    #routeTop .courseBox h4 {
        font-size: 22px;
    }
    section#routeTit .courseTit {
        display: flex;
        align-items: center;
        margin-bottom: 40px;
    }
    section#routeTit .courseTit .courseMap {
        order: 1;
        width: 40%;
        margin-right: 4%;
    }
    section#routeTit .courseTit .titBox {
        order: 2;
        width: 56%;
    }
    /**member **/
    section#memberTit.titArea {
        width: 100%;
    }
    section#memberTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#memberTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#memberTit h1 span {
        font-size: 16px;
    }
    section#memberTit .logoTit {
        height: 228px;
        position: relative;
        border-bottom: solid 1px #ddd;
        border-top: solid 1px #ddd;
    }
    section#memberTit h1 img {
        height: 140px;
        width: auto;
        margin: 0 auto;
    }
    .memberBlock h2, .shipType h2, .boarding h2 {
        font-size: 30px;
        top: -25px;
    }
    .memberBlock ul {
        display: flex;
        flex-wrap: wrap;
    }
    .memberBlock li {
        margin-bottom: 0;
        width: 32%;
        margin-right: 2%;
    }
    .memberBlock li:nth-of-type(3n) {
        margin-right: 0;
    }
    .memberBlock li:nth-of-type(3) ~ li {
        margin-top: 20px;
    }
    .memberBlock li a:hover {
        color: #000;
        background: #ddd;
    }
    .shipType, .boarding {
        display: flex;
        flex-wrap: wrap;
        padding: 60px 40px 40px 40px;
    }
    .shipType .ship {
        width: 48%;
        margin-right: 4%;
    }
    .shipType .ship:nth-of-type(even) {
        margin-right: 0;
    }
    .shipType .ship h3 {
        padding: 20px 0;
        font-size: 26px;
    }
    .boarding .boardingPlace {
        margin-bottom: 0;
        width: 48%;
        margin-right: 4%;
    }
    .boarding .boardingPlace:nth-of-type(even) {
        margin-right: 0;
    }
    .boarding .boardingPlace:nth-of-type(2) ~ .boardingPlace {
        margin-top: 40px;
    }
    /**option**/
    #optionTit.titArea {
        width: 100%;
    }
    section#optionTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#optionTit .imgTit.sitemap {
        height: 228px;
    }
    section#optionTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#optionTit h1 span {
        font-size: 16px;
    }
    section#optionColumn h2 {
        background: url("../img/shared/line_split.png") top center no-repeat;
        background-size: auto 5px;
        padding-top: 40px;
        font-size: 30px;
        margin-bottom: 40px;
    }
    section#optionColumn ul, section#busColumn ul, section#boartColumn ul.caseList {
        padding: 0;
        display: flex;
        flex-wrap: wrap;
    }
    section#busColumn ul li {
        width: 23.5%;
        margin-right: 2%;
        margin-bottom: 0 !important;
    }
    section#boartColumn ul.caseList li {
        width: 49%;
        margin-right: 2%;
        margin-bottom: 40px !important;
    }
    section#boartColumn ul.caseList li:nth-of-type(even) {
        margin-right: 0;
    }
    section#optionColumn ul li {
        width: 32%;
        margin-right: 2%;
    }
    section#busColumn ul li:last-of-type {
        margin-right: 0;
    }
    section#optionColumn ul li:nth-of-type(3n) {
        margin-right: 0;
    }
    section#optionColumn ul li:last-of-type {
        margin-bottom: 40px;
    }
    #suportTit.titArea {
        width: 100%;
    }
    section#suportTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#suportTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#suportTit h1 span {
        font-size: 16px;
    }
    #flow h2 {
        top: -22px;
        font-size: 24px;
    }
    #flow ol {
        display: flex;
        flex-wrap: wrap;
    }
    #flow ol > li {
        width: 49%;
        margin-right: 2%;
        padding: 20px;
        margin-bottom: 40px;
    }
    #flow ol > li:nth-of-type(2n) {
        margin-right: 0;
    }
    #flow ol > li:last-of-type {
        margin-bottom: 40px;
        background: url("../img/suport/illust_ph.avif")bottom center no-repeat, #fff;
        background-size: 100% auto, 100%;
    }
    #flow ol > li:before {
        width: 80px;
        font-size: 18px;
    }
    #flow ol > li:after {
        display: none;
    }
    #flow ol > li h3 {
        font-size: 22px;
        margin-bottom: 20px;
    }
    #flow .searchBtn:hover {
        opacity: 0.6;
    }
    #flow .info img {
        width: 60%;
        height: auto;
    }
    #flow .telBox a {
        font-size: 40px;
        padding-left: 35px;
    }
    #flow .telBox a:before {
        content: "";
        background: url("../img/suport/ico_tel.avif")no-repeat;
        background-size: 30px;
        width: 30px;
        height: 30px;
    }
    #flow .telBox p:nth-of-type(2) {
        font-size: 16px;
        margin-bottom: 20px;
    }
    #cancelCharge {
        padding: 40px 0;
    }
    #cancelCharge h2 {
        font-size: 24px;
        margin-bottom: 40px;
    }
    /**faq**/
    #faqTit.titArea {
        width: 100%;
    }
    section#faqTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#faqTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#faqTit h1 span {
        font-size: 16px;
    }
    section#faqColumn p {
        padding: 0;
        margin-bottom: 40px;
    }
    section#faqColumn .anchorNav {
        display: flex;
        padding: 0 0 60px 0;
    }
    section#faqColumn .anchorNav li {
        margin-bottom: 10px;
        width: 23.5%;
        margin-right: 2%;
    }
    section#faqColumn .anchorNav li:last-of-type {
        margin-bottom: 0;
        margin-right: 0;
    }
    section#faqColumn .anchorNav li a:hover {
        background: #000;
        color: #fff;
    }
    section#faqColumn .faqBlock h2 {
        top: -22px;
        font-size: 30px;
    }
    /**bording**/
    .bordingTxt {
        display: flex;
        margin-bottom: 60px;
    }
    .bordingTxt .bordingType01 {
        margin-right: 2% !important;
    }
    .bordingTxt .bordingType01, .bordingTxt .bordingType02 {
        margin: 0;
        width: 49%;
    }
    #memberColumn.place .boarding .boardingPlace {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        margin-right: 0;
    }
    #memberColumn.place .boarding .boardingPlace p {
        width: 49%;
        font-size: 18px;
        order: 2;
        display: flex;
        align-items: center;
    }
    #memberColumn.place .boarding .boardingPlace dl {
        width: 49%;
        margin-right: 2%;
        order: 1;
    }
    #memberColumn.place .boarding .boardingPlace .map {
        width: 100%;
        margin-top: 20px;
        order: 3;
    }
    /**bus**/
    section#busTit.titArea {
        width: 100%;
    }
    section#busTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#busTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#busTit h1 span {
        font-size: 16px;
    }
    #busColumn h3 {
        font-size: 24px;
        margin-top: 40px;
        padding-top: 40px;
        margin-bottom: 40px;
    }
    /**noriai**/
    section#noriaiTit.titArea {
        width: 100%;
    }
    section#noriaiTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#noriaiTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#noriaiTit h1 span {
        font-size: 16px;
    }
    /**kashikiri**/
    section#kashikiriTit.titArea {
        width: 100%;
    }
    section#kashikiriTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#kashikiriTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#kashikiriTit h1 span {
        font-size: 16px;
    }
    /**boart**/
    section#boartColumn p:first-of-type {
        padding: 0;
    }
    section#boartColumn p.addTxt {
        padding: 0;
        margin-bottom: 20px;
    }
    section#boartColumn dl {
        margin: 20px 0 60px 0;
        display: flex;
        flex-wrap: wrap;
    }
    section#boartColumn .kashikiri dt:nth-of-type(1), section#boartColumn .kashikiri dd:nth-of-type(1) {
        width: 100%;
        order: 1;
    }
    section#boartColumn .kashikiri dt:nth-of-type(1):after {
        display: none;
        margin-right: 0;
    }
    section#boartColumn .kashikiri dd:nth-of-type(1) {
        margin-bottom: 20px;
        margin-right: 0;
        border-bottom: solid 1px #ccc;
        padding-bottom: 10px;
    }
    section#boartColumn .kashikiri dt, section#boartColumn .kashikiri dd {
        width: 48%;
    }
    section#boartColumn dt {
        width: 32%;
        margin-right: 2%;
        order: 1;
        margin-bottom: 10px;
        position: relative;
    }
    section#boartColumn dt:after {
        content: "";
        width: 1px;
        height: 70px;
        background: #ccc;
        position: absolute;
        right: 0;
        top: 0;
    }
    section#boartColumn dt:nth-of-type(2) {
        order: 2;
    }
    section#boartColumn dt:nth-of-type(3) {
        margin-right: 0;
        order: 3;
    }
    section#boartColumn dt:nth-of-type(3):after {
        display: none;
    }
    section#boartColumn dd:nth-of-type(1) {
        order: 4;
    }
    section#boartColumn dd:nth-of-type(2) {
        order: 5;
    }
    section#boartColumn dd:nth-of-type(3) {
        order: 6;
        margin-right: 0;
    }
    section#boartColumn dt:before {
        display: none;
    }
    section#boartColumn dd {
        width: 32%;
        margin-right: 2%;
        padding: 0 20px;
        margin-bottom: 0;
    }
    section#boartColumn dd span {
        font-size: 14px;
        font-weight: normal;
    }
    section#boartColumn .merit {
        padding: 40px 20px 20px 20px;
        margin-bottom: 60px;
    }
    section#boartColumn .merit h2 {
        font-size: 24px;
        top: -20px;
    }
    section#boartColumn .merit ul {
        display: flex;
    }
    section#boartColumn .merit ul li {
        width: 32%;
        margin-right: 2%;
        margin-bottom: 0;
        padding: 15px;
    }
    section#boartColumn .merit ul li:last-of-type {
        margin-right: 0;
    }
    section#boartColumn .merit ul li h3 {
        margin: 20px 0;
        text-align: center;
        padding: 50px 0 0 0;
        background: url("../img/shared/no_ico01.png") center top no-repeat;
        background-size: auto 40px;
        font-size: 20px;
    }
    section#boartColumn .merit ul li:nth-of-type(2) h3 {
        background: url("../img/shared/no_ico02.png") center top no-repeat;
        background-size: auto 40px;
    }
    section#boartColumn .merit ul li:nth-of-type(3) h3 {
        background: url("../img/shared/no_ico03.png") center top no-repeat;
        background-size: auto 40px;
    }
    section.banar {
        padding: 0;
    }
    section.banar a:hover {
        opacity: 0.8;
    }
    /** food **/
    section#foodTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#foodTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#foodTit h1 span {
        font-size: 16px;
    }
    #foodTit.titArea {
        width: 100%;
    }
    .foodInfoTit {
        position: relative;
        height: 480px;
        margin-bottom: 20px;
    }
    section#foodTit .foodInfoTit h1 {
        width: auto;
        line-height: 1.4;
        height: 70%;
        font-size: 50px;
        top: 50%;
        left: 50%;
        right: auto;
        transform: translate(-50%, -50%);
    }
    .foodInfoTit.monja h1 span {
        font-size: 24px !important;
    }
    .foodInfoTit.monja {
        background: url("../img/monja/main_img.avif") center top no-repeat;
        background-size: cover;
    }
    .foodInfoTit.tempura {
        background: url("../img/tempura/main_img.avif") center top no-repeat;
        background-size: cover;
    }
    .foodInfoTit.sashimi {
        background: url("../img/sashimi/main_img.avif") center top no-repeat;
        background-size: cover;
    }
    .foodInfoTit.lunch {
        background: url("../img/lunch/main_img.avif") center top no-repeat;
        background-size: cover;
    }
    .foodInfoTit.dinner {
        background: url("../img/dinner/main_img.avif") center top no-repeat;
        background-size: cover;
    }
    .foodSubTit {
        padding: 20px 0 0 0;
        font-size: 26px;
        font-weight: bold;
    }
    #foodColumn .sampleAttent {
        padding: 20px 0;
    }
    #foodColumn .sampleAttent li {
        font-size: 14px;
    }
    #foodColumn .foodBox {
        margin: 0;
        width: 30%;
        margin-right: 5%;
    }
    #foodColumn .foodBox a.baseBtn {
        margin-bottom: 50px;
    }
    #foodColumn .foodBox:last-of-type {
        margin-right: 0;
    }
    #foodColumn .foodTop {
        display: flex;
    }
    #foodColumn .foodBox .reportLink a:hover {
        opacity: 0.8;
    }
    section#foodColumnOt {
        padding: 40px 0;
        background: url("../img/food/food_bg.avif")left top;
    }
    section#foodColumnOt .inner {
        display: flex;
        flex-wrap: wrap;
    }
    #foodColumnOt .box {
        width: 30%;
        margin-right: 5%;
    }
    #foodColumnOt .box:nth-of-type(3n) {
        margin-right: 0;
    }
    #foodColumnOt .box.ltnoBd {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }
    #foodColumnOt .box.ltnoBd:after, #foodColumnOt .box.ltnoBd:before {
        display: none;
    }
    #foodColumnOt h2 {
        padding: 8px;
        font-size: 20px;
        margin-bottom: 20px;
    }
    #foodColumnOt figure {
        margin-bottom: 30px;
    }
    #foodColumnOt .box p {
        font-size: 16px;
    }
    #otherFood {
        width: 1240px;
        margin: 0 auto;
    }
    #otherFood ul {
        display: flex;
    }
    #otherFood li {
        width: 49%;
        margin-right: 2%;
        margin-top: 0 !important;
    }
    #otherFood li:last-of-type {
        margin-right: 0;
    }
    #otherFood a:hover {
        opacity: 0.8;
    }
    section#planBest {
        padding: 60px 0 40px 0;
        margin-top: 40px;
        position: relative;
    }
    section#planBest h2 {
        position: absolute;
        left: 0;
        width: 100%;
        top: -20px;
        font-size: 30px;
        text-align: center;
        margin-bottom: 0;
    }
    section#planBest h2:before {
        content: "";
        width: 3px;
        height: 30px;
        margin-bottom: 10px;
        background: #000;
        display: inline-block;
        vertical-align: middle;
        transform-origin: left bottom;
        transform: rotate(-20deg);
        margin-right: 10px;
    }
    section#planBest h2:after {
        content: "";
        width: 3px;
        height: 30px;
        margin-bottom: 10px;
        background: #000;
        display: inline-block;
        vertical-align: middle;
        transform-origin: left bottom;
        transform: rotate(20deg);
        margin-left: 10px;
    }
    section#planBest ul {
        display: flex;
        padding-top: 0;
        border-top: none;
    }
    section#planBest ul:before, section#planBest ul:after {
        display: none;
    }
    section#planBest ul li {
        width: 30%;
        margin-right: 5%;
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    section#planBest ul li:last-of-type {
        margin-right: 0;
    }
    section#planBest ul li h3 {
        font-size: 22px;
        font-weight: bold;
    }
    /** report **/
    #reportTit.titArea {
        width: 100%;
    }
    .reportMainTit {
        position: relative;
        height: 480px;
        margin-bottom: 20px;
    }
    .reportMainTit .inner {
        position: static;
    }
    .reportMainTit p span:first-of-type {
        padding: 10px 20px;
        font-size: 18px !important;
    }
    .reportMainTit p span:last-of-type {
        padding-left: 20px;
        font-size: 16px;
    }
    .reportMainTit p {
        padding-top: 100px;
    }
    .reportMainTit h1 {
        font-size: 50px;
        padding: 10px 0 0 10px;
    }
    .reportMainTit.monja {
        background: url("../img/monja/report_main_img.avif") center top no-repeat;
        background-size: cover;
    }
    .reportMainTit.sashimi {
        background: url("../img/sashimi/report_main_img.avif") center top no-repeat;
        background-size: cover;
    }
    .reportMainTit.tempura {
        background: url("../img/tempura/report_main_img.avif") center top no-repeat;
        background-size: cover;
    }
    .reportMainTit.foreigner {
        background: url("../img/foreigner/main_img.avif") center top no-repeat;
        background-size: cover;
    }
    .reportMainTit.foreigner h1 {
        padding-top: 0;
        color: #000;
        filter: drop-shadow(2px 2px 0px rgba(255, 255, 255, 0.8));
    }
    section#reportColumn .inner {
        position: relative;
    }
    section#reportColumn .box {
        position: relative;
        padding-top: 40px;
        border-top: solid 1px #ccc;
        overflow: hidden;
    }
    section#reportColumn .box:before {
        content: "";
        width: 30%;
        height: 3px;
        border-radius: 5px;
        left: 0;
        top: -1px;
        position: absolute;
        background: #000;
    }
    section#reportColumn p {
        padding: 0;
        margin-bottom: 40px;
    }
    section#reportColumn figure img {
        width: 100%;
        height: auto;
    }
    section#reportColumn .box figure {
        margin: 0 0 40px 40px;
        float: right;
        width: 40%;
    }
    section#reportColumn .box:nth-of-type(even) figure {
        float: left;
        margin: 0 40px 40px 0;
    }
    .reportSp {
        position: absolute;
        right: 0;
        top: 0;
        width: 25%;
        margin: 0;
        margin-bottom: 0;
    }
    .reportSp p {
        text-align: center;
    }
    .reportSp a:hover {
        opacity: 0.7;
    }
    /**campaign**/
    #campaignTit.titArea {
        width: 100%;
    }
    section#campaignTit h1 .smt, section#campaignTit .monja .mainTit .smt {
        display: none;
    }
    section#campaignTit h1 .pc, section#campaignTit .monja .mainTit .pc {
        display: block;
    }
    section#campaignTit h1, section#campaignTit .monja .mainTit {
        height: 500px;
        width: 1200px;
        margin: 0 auto;
        padding: 50px 80px;
    }
    section#campaignTit h1 img {
        width: auto;
        height: 100%;
    }
    section#campaignTit .monja .mainTit img {
        margin: 0 auto;
        height: 100%;
        width: auto;
    }
    section#campaignTit .gototravel {
        position: relative;
    }
    section#campaignTit .gototravel h1 {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 300px;
        height: auto;
        padding: 0;
    }
    section#campaignTit .gototravel h1 img {
        width: 100%;
        height: auto;
    }
    #campaignTit.titArea .joshikai {
        background: url("../img/campaign/joshi_main_img.avif")right center no-repeat;
        background-size: cover;
        height: 500px;
    }
    #campaignTit.titArea .monja {
        background: url("../img/campaign/monja_main_img.avif")center center no-repeat;
        background-size: cover;
        height: 500px;
        margin-bottom: 20px;
    }
    #campaignTit.titArea .gototravel {
        background: url("../img/campaign/goto_main_img.avif")center center no-repeat;
        background-size: cover;
        height: 500px;
        margin-bottom: 20px;
    }
    section#joshikaiColumn {
        padding: 40px;
    }
    section#joshikaiColumn h2 {
        font-size: 24px;
    }
    .campaignBox .infoTxt {
        margin-bottom: 60px;
    }
    #joshikaiColumn .campaignList {
        display: flex;
        flex-wrap: wrap;
    }
    #joshikaiColumn article:nth-of-type(even) {
        margin-right: 0;
    }
    #joshikaiColumn article .multi {
        display: flex;
    }
    #joshikaiColumn article .multi .courseBox {
        width: 48%;
        margin-right: 4%;
    }
    #joshikaiColumn article {
        width: 49%;
        margin-right: 2%;
    }
    #joshikaiColumn article img {
        margin-bottom: 20px;
    }
    #joshikaiColumn article:last-of-type {
        margin-bottom: 40px;
    }
    #joshikaiColumn article h4 {
        font-size: 20px;
        padding: 0 20px;
        margin-bottom: 20px;
    }
    #joshikaiColumn article .courseBox p {
        padding: 0 20px;
    }
    #joshikaiColumn article .courseBox ul {
        padding: 0 20px 20px 20px;
    }
    #monjaColumn .infoBlock {
        margin-bottom: 40px;
    }
    #monjaColumn .infoBlock .inner {
        display: flex;
    }
    #monjaColumn .infoBlock .inner div {
        width: 55%;
        margin-right: 5%;
    }
    #monjaColumn .infoBlock .inner div:nth-of-type(2) {
        width: 40%;
        margin-right: 0;
    }
    #monjaColumn .infoBlock .linkBanar {
        margin-bottom: 20px;
    }
    #shipInfo h2 {
        font-size: 26px;
        top: -24px;
    }
    #shipInfo .inner {
        display: flex;
    }
    #shipInfo .inner p {
        margin-bottom: 0;
    }
    #shipInfo .inner div:first-of-type {
        width: 42%;
        margin-right: 3%;
    }
    #shipInfo .inner dl {
        width: 55%;
    }
    /**campaign**/
    section#campaignTopTit.titArea {
        width: 100%;
    }
    section#campaignTopTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#campaignTopTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#campaignTopTit h1 span {
        font-size: 16px;
    }
    section#campaignColumn p {
        padding: 0;
        margin-bottom: 40px;
        font-size: 20px;
        font-weight: bold;
    }
    section#campaignColumn ul {
        display: flex;
        flex-wrap: wrap;
    }
    section#campaignColumn li {
        width: 30%;
        margin-right: 5%;
    }
    section#campaignColumn li:nth-of-type(3n) {
        margin-right: 0;
    }
    section#campaignColumn figure p {
        font-size: 16px;
        font-weight: normal;
    }
    section#campaignTit .yukata {
        height: 570px;
        background: url("../img/campaign/yukata_main_img.avif")center center no-repeat;
        background-size: cover;
    }
    section#campaignTit .yukata img {
        display: none;
    }
    section#campaignTit .yukata .tit {
        position: absolute;
        left: 50%;
        bottom: 50%;
        transform: translate(-50%, 50%);
        width: 1200px;
        padding: 0;
        text-align: right;
    }
    section#campaignTit .yukata .tit h1 {
        font-size: 80px;
        line-height: 1.2;
        color: #000;
        text-shadow: 0px 0px 20px #fff;
        margin: 0 140px 0 0;
        width: auto;
        height: auto;
        padding: 0;
    }
    section#campaignTit .yukata .tit p {
        font-size: 46px;
        color: #000;
        text-shadow: 0px 0px 20px #fff;
        margin: 0 140px 0 0;
    }
    section#campaignTit .yukata .tit h1:after {
        content: "";
        background: url("../img/campaign/mark_asakusa.avif") no-repeat;
        background-size: 140px;
        width: 140px;
        height: 140px;
        right: -140px;
    }
    section#campaignTit .yukata .tit a {
        width: 460px;
        float: right;
        margin-top: 20px;
        margin-right: 140px;
        padding: 15px;
        font-size: 20px;
    }
    section#campaignTit .yukata .tit a:hover {
        opacity: 0.6;
    }
    section#yukata01 {
        width: 1200px;
        margin: 0 auto;
        text-align: center;
        padding: 80px 0;
    }
    section#yukata01 h2 {
        font-size: 36px;
    }
    section#yukata02 {
        padding: 80px 0;
    }
    section#yukata02 h2 {
        font-size: 36px;
    }
    section#yukata02 .subTit {
        font-size: 16px;
        margin-bottom: 60px;
    }
    section#yukata02 .planList {
        display: flex;
        margin-bottom: 60px;
    }
    section#yukata02 .planList li {
        width: 23.5%;
        margin-right: 2%;
        margin-bottom: 0;
        padding-bottom: 160px;
    }
    section#yukata02 .planList li:last-of-type {
        margin-right: 0;
    }
    section#yukata02 .planList li dl {
        position: absolute;
        left: 20px;
        right: 20px;
        bottom: 20px;
    }
    section#yukata02 .planList li dl dd {
        font-size: 14px;
    }
    section#yukata02 .option {
        background: url("../img/campaign/yukata_ph05.avif")left top no-repeat, #fff;
        display: flex;
        padding: 0 20px 20px 350px;
    }
    section#yukata02 .option img {
        display: none;
    }
    section#yukata02 .option div:first-of-type {
        margin-top: 60px;
        width: 49%;
        margin-right: 2%;
    }
    section#yukata02 .option .price {
        width: 49%;
        margin-top: 20px;
    }
    section#yukata02 .option .price li {
        margin-top: 5px;
    }
    section#yukata03 {
        padding: 60px 0;
    }
    section#yukata03 .inner {
        display: flex;
    }
    section#yukata03 .map {
        width: 48%;
        margin-right: 4%;
    }
    section#yukata03 .list {
        width: 48%;
    }
    section#yukata03 .list h3 {
        font-size: 40px;
        margin-bottom: 10px;
    }
    section#yukata03 .list p.subtxt {
        margin-bottom: 50px;
    }
    section#yukata03 .list .shopList {
        display: flex;
        flex-wrap: wrap;
    }
    section#yukata03 .list .shopList li {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 40px;
    }
    section#yukata03 .list .shopList li:nth-of-type(even) {
        margin-right: 0;
    }
    section#yukata03 .list .shopList li:first-of-type ~ li {
        margin-top: 0;
    }
    section#yukata03 .list .shopList li h4 {
        font-size: 22px;
    }
    section#yukata04 {
        padding: 80px 0;
    }
    section#yukata04 h2 {
        font-size: 36px;
        margin-bottom: 60px;
    }
    section#yukata04 h2 span {
        font-size: 16px;
    }
    section#yukata04 ol li {
        overflow: hidden;
    }
    section#yukata04 ol li:first-of-type ~ li {
        margin-top: 20px;
    }
    section#yukata04 ol li img {
        width: 35%;
        height: auto;
        float: left;
    }
    section#yukata04 ol li h3 {
        margin-left: 35%;
        padding: 20px 20px 10px 60px;
        font-size: 26px;
    }
    section#yukata04 ol li p {
        margin-left: 35%;
        font-size: 15px;
    }
    section#form {
        padding: 80px 0 0 0;
    }
    section#form h2 {
        font-size: 36px;
        margin-bottom: 60px;
    }
    section#form h2 span {
        font-size: 16px;
    }
    section#form dl {
        padding: 0 80px;
    }
    section#form dt {
        font-size: 18px;
        margin-bottom: 10px;
    }
    section#form dt span {
        font-size: 14px;
    }
    section#form dd {
        margin-bottom: 40px;
    }
    section#form .form01, section#form .form02 {
        margin-bottom: 40px;
    }
    section#form .form01.daySelect {
        display: flex;
        flex-wrap: wrap;
    }
    section#form .form01.daySelect dt {
        width: 100%;
    }
    section#form .form01.daySelect dd:first-of-type {
        width: 48%;
        margin-right: 2%;
    }
    section#form .form01.daySelect dd.time {
        width: 24%;
        box-sizing: border-box;
    }
    section#form .form02 ul li:last-of-type div {
        width: 40%;
    }
    section#form .form02 ul li:last-of-type div:last-of-type {
        width: 60%;
    }
    section#form .form02 ul li:last-of-type div:last-of-type span {
        display: inline-block;
        margin-bottom: 0;
        margin-right: 20px;
        padding-right: 20px;
        border-right: solid 1px #e0e0e0;
    }
    section#form .form02 ul.option li div {
        width: 40% !important;
    }
    section#form .form02 ul.option li div:last-of-type {
        width: 60% !important;
    }
    section#form .form02 ul.option li div:last-of-type span {
        display: flex;
        width: 80%;
        margin: 0;
        padding: 0;
        border-right: none;
        float: left;
    }
    section#form .form03 {
        margin-bottom: 60px;
    }
    /**question**/
    section#questionTit.titArea {
        width: 100%;
    }
    section#questionTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#questionTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#questionTit h1 br {
        display: none;
    }
    section#questionTit h1 span {
        font-size: 16px;
    }
    section#questionList p.read {
        padding: 0;
        margin-bottom: 40px;
    }
    section#questionList ul {
        margin: 0;
        padding: 60px 0 0 0;
        display: flex;
        flex-wrap: wrap;
    }
    section#questionList ul li {
        width: 30%;
        margin-right: 5%;
        position: relative;
        background: #fff;
        border: solid 10px #f0f0f0;
        padding: 0;
        margin-bottom: 0;
        font-size: 20px;
    }
    section#questionList ul li:nth-of-type(3n) {
        margin-right: 0;
    }
    section#questionList ul li:nth-of-type(3) ~ li {
        margin-top: 50px;
    }
    section#questionList ul li:before {
        left: -10px;
        top: -40px;
    }
    section#questionList ul li a img {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 10px;
    }
    #questionInfo .questionBox {
        width: 40%;
        float: right;
        margin: 0 0 40px 40px;
    }
    #questionInfo p.dataPub {
        float: right;
        margin: 0 0 20px 20px;
    }
    .baseBtn.questionBack {
        width: 40%;
        margin: 0 auto;
    }
    /**column**/
    section#columnTit.titArea {
        width: 100%;
    }
    section#columnTit .imgTit {
        background-size: cover !important;
        height: 228px;
        position: relative;
        margin-bottom: 20px;
    }
    section#columnTit h1 {
        font-size: 40px;
        line-height: 1.8;
    }
    section#columnTit h1 span {
        font-size: 16px;
        width: 10%;
        border-radius: 3px;
    }
    section#columnInfo p {
        padding: 0;
        margin-bottom: 40px;
        overflow: hidden
    }
    section#columnInfo p img.phR {
        float: right;
        width: 30%;
        height: auto;
        margin-left: 30px;
    }
    section#columnInfo p img.phL {
        float: left;
        width: 30%;
        height: auto;
        margin-right: 30px;
    }
    section#columnInfo p.infoBtn, section#columnInfo p.soldout {
        width: 40%;
        margin: 40px auto;
    }
    section#columnInfo .columnBox {
        position: relative;
        border-top: solid 2px #ccc;
        padding-top: 40px;
        margin-bottom: 40px;
    }
    section#columnInfo .columnBox:before {
        content: "";
        width: 40%;
        position: absolute;
        background: #000;
        height: 2px;
        top: -2px;
        left: 0;
    }
    section#columnInfo .columnBox:nth-of-type(even):before {
        left: auto;
        right: 0;
    }
    section#columnInfo .columnBox:after {
        content: "";
        display: block;
        clear: both;
    }
    section#columnInfo figure {
        float: left;
        width: 40%;
        margin-right: 40px;
    }
    section#columnInfo .instaWidget {
        float: right;
        width: 40%;
        margin-left: 40px;
        padding: 0;
        max-height: 745px;
        overflow: auto;
    }
    section#columnInfo .instaHalf {
        padding: 40px 0 0 0;
        width: 100%;
        clear: both;
        display: flex;
        justify-content: center;
    }
    section#columnInfo .instaHalf li {
        width: 46%;
        max-height: 745px;
        overflow: auto;
    }
    section#columnInfo .instaHalf li:last-of-type {
        margin-left: 2%;
    }
    section#columnInfo .columnBox:nth-of-type(even) figure {
        float: right;
        margin-left: 40px;
        margin-right: 0;
    }
    section#columnInfo figure img {}
    section#columnInfo h2 {
        padding: 0;
        font-size: 30px;
        font-weight: bold;
    }
    section#columnInfo h3, section#columnInfo h4 {
        padding: 0;
    }
    section#columnInfo h2 span {
        border-bottom: solid 3px #000;
        padding: 5px;
    }
    section#columnInfo .baseBtn {
        width: 60%;
        margin: 0 auto;
    }
    section#columnInfo ol {
        padding: 0;
    }
    section#columnInfo ol li {
        margin-bottom: 15px;
        padding-bottom: 0;
        border-bottom: none;
    }
    section#columnInfo .ranking {
        padding: 0;
        clear: both;
    }
    section#columnInfo .ranking li {
        overflow: hidden;
        border-bottom: dotted 1px #ccc;
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    section#columnInfo .ranking li img {
        float: left;
        width: 20%;
    }
    section#columnInfo .ranking li h3 {
        font-size: 24px;
        margin-left: 22%;
        margin-bottom: 10px;
    }
    section#columnInfo .ranking li h3 span {
        margin-right: 0;
        margin-bottom: 10px;
        width: 12%;
    }
    section#columnInfo .ranking li p {
        padding: 0;
        margin-left: 22%;
        margin-bottom: 0;
    }
    section#columnInfo ul.list {
        clear: both;
        padding: 0;
        margin-bottom: 20px;
        padding-top: 20px;
        display: flex;
        flex-wrap: wrap;
    }
    section#columnInfo ul.list li {
        width: 49%;
        margin-right: 2%;
        background: #efefef;
        padding: 10px;
        border-radius: 3px;
        margin-bottom: 20px;
    }
    section#columnInfo ul.list li:nth-of-type(even) {
        margin-right: 0;
    }
    section#columnInfo ul.list li:last-of-type {
        margin-bottom: 20px;
    }
    section#columnInfo ol.list li {
        border-bottom: dotted 1px #ccc;
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    section#columnInfo ol.list li:last-of-type {
        margin-bottom: 0;
        padding: 0;
        border-bottom: none;
    }
    section#columnInfo .subtit {
        padding: 0;
        margin-bottom: 0;
        font-size: 22px;
    }
    section#columnInfo ul.boxList {
        margin: 0 0 40px 0;
        display: flex;
    }
    section#columnInfo ul.boxList li {
        font-size: 18px;
        text-align: center;
        width: 49%;
        margin-right: 2%;
    }
    section#columnInfo ul.boxList li:last-of-type {
        margin-right: 0;
    }
    section#columnList {
        padding: 20px 0;
    }
    section#columnList p {
        margin-bottom: 40px;
        font-size: 18px;
        text-align: center;
    }
    section#columnList h2 {
        padding-left: 20px;
        padding-top: 30px;
        font-size: 30px;
        text-align: left;
        margin-bottom: 40px;
    }
    section#columnList ul {
        margin-bottom: 20px;
    }
    section#columnList li {
        width: 23.5%;
        margin-right: 2%;
        margin-bottom: 30px;
    }
    section#columnList li:nth-of-type(even) {
        margin-right: 2%;
    }
    section#columnList li:nth-of-type(4n) {
        margin-right: 0;
    }
    section#columnList li a {
        padding: 15px;
        display: block;
    }
    section#columnList li a p {
        font-size: 16px;
        line-height: 1.6;
        text-align: left;
    }
    section#sitemap .inner {
        display: flex;
    }
    section#sitemap .inner ul {
        width: 49%;
    }
    section#sitemap .inner ul:first-of-type {
        margin-right: 2%;
    }
    section#company {
        padding: 20px 0;
        width: 1200px;
        margin: 0 auto;
    }
    #company dl {
        display: flex;
        flex-wrap: wrap;
    }
    #company dl dt {
        width: 20%;
        border-bottom: solid 1px #ddd;
        padding: 20px 10px;
        font-size: 16px;
    }
    #company dl dd {
        width: 80%;
        padding: 20px 10px;
        border-bottom: solid 1px #ddd;
        margin-bottom: 0;
    }
    #topNews {
        width: 1200px;
        padding: 20px;
        border: solid 2px #ccc;
        margin: 20px auto 0 auto;
    }
    .measures {
        padding: 40px;
        background: none;
        border: solid 2px #000;
        margin-top: 40px;
    }
    .measures h2 {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: -15px;
        width: 240px;
    }
    .measures ul {
        display: flex;
    }
    .measures ul li {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 0;
    }
    .measures ul li:last-of-type {
        margin-right: 0;
    }
    #maintenance h3 {
        text-align: center;
        font-weight: bold;
        font-size: 20px;
    }
    #maintenance p {
        width: 1200px;
        margin: 0 auto;
    }
    #maintenance span {
        font-size: 20px;
        margin: 10px 0;
        border: solid 1px #009fb9;
        padding: 5px;
        text-align: center;
    }
    #maintenance span br {
        display: none;
    }
    #gotoInfo {
        width: 1200px;
        margin: 0 auto;
        padding: 20px 0;
    }
    #gotoInfo .gotoLogo {
        width: 280px;
        margin: 40px auto 60px auto;
    }
    #gotoInfo ul.case {
        display: flex;
        width: 600px;
        margin: 0 auto 40px auto;
    }
    #gotoInfo ul.case li {
        width: 46%;
        text-align: center;
        background: #1babde;
        color: #fff;
        font-weight: bold;
        font-size: 20px;
        padding: 5px 0;
    }
    #gotoInfo ul.case li:first-of-type {
        margin-right: 8%;
        position: relative;
    }
    #gotoInfo ul.case li:first-of-type:before {
        background: #1babde;
        height: 4px;
        width: 16px;
        right: -11.5%;
    }
    #gotoInfo .txt {
        text-align: center;
        font-size: 18px;
        margin-bottom: 40px;
    }
    #gotoInfo .gotoPlan {
        display: flex;
        flex-wrap: wrap;
    }
    #gotoInfo .gotoPlan .ph {
        order: 1;
        width: 48%;
        margin-right: 2%;
    }
    #gotoInfo .gotoPlan .gotoPlanInfo {
        order: 2;
        width: 48%;
        padding: 40px 20px;
    }
    #gotoInfo .gotoPlan .gotoPlanInfo .caseTit {
        font-size: 20px;
    }
    #gotoInfo .gotoPlan .gotoPlanInfo .caseTit span {
        font-size: 30px;
    }
    #gotoInfo .gotoPlan .gotoPlanInfo div {
        padding: 10px;
    }
    #gotoInfo .gotoPlan .gotoPlanInfo div .tit {
        font-size: 20px;
    }
    #gotoInfo .gotoPlan .gotoPlanInfo div ul {
        font-size: 28px;
    }
    #gotoInfo .gotoPlan .gotoPlanInfo div ul li {
        width: 50%;
        position: relative;
    }
    #gotoInfo .gotoPlan .gotoPlanInfo div ul li span {
        font-size: 40px;
    }
    #gotoInfo .gotoPlan .gotoPlanInfo div ul li:first-of-type:after {
        position: absolute;
        right: 0;
        top: 14px;
        margin-left: 0;
    }
    #gotoInfo .gotoPlan .gotoPlanInfo p.coupon {
        font-size: 18px;
        padding-top: 5px;
    }
    #gotoInfo .gotoPlan .caution {
        order: 3;
        width: 100%;
    }
    #gotoInfo .gotoPlan .caution p {
        padding: 40px 0;
        font-size: 30px;
    }
    #gotoInfo .gotoPlan .caution ul {
        display: flex;
    }
    #gotoInfo .gotoPlan .caution li {
        width: 32%;
        margin-right: 2%;
        margin-bottom: 0;
    }
    #gotoInfo .gotoPlan .caution li:last-of-type {
        margin-right: 0;
    }
    .topAttent {
        width: 1200px;
        margin: 0 auto;
    }
    #reason {
        width: 1200px;
        margin: 0 auto;
    }
    #reason ul {
        border-top: none;
        border-bottom: none;
        display: flex;
    }
    #reason ul li {
        width: 30%;
        margin-right: 5%;
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
        position: relative;
    }
    #reason ul li:after {
        content: "";
        background: #ccc;
        width: 1px;
        height: 100%;
        position: absolute;
        right: -5%;
        top: 0;
    }
    #reason ul li:last-of-type:after {
        display: none;
    }
    #reason ul li:last-of-type {
        margin-right: 0;
    }
    #reason ul li h3 {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .formWidth30 {
        width: 30% !important;
    }
    .tableTit {
        clear: both;
        padding: 0;
        font-size: 20px;
    }
    .columnTable {
        padding: 0;
        margin-bottom: 40px;
    }
    .hikakuTable {
        padding: 0;
        margin-bottom: 40px;
    }
    .hikakuTable thead {
        display: table-header-group;
        background: #f0f0f0;
    }
    .hikakuTable thead th {
        width: 45%;
        padding: 5px;
    }
    .hikakuTable thead th:first-of-type {
        width: 10%;
    }
    .hikakuTable tr {
        display: table-row;
        width: 100%;
    }
    .hikakuTable tbody th, .hikakuTable td {
        display: table-cell;
    }
    .hikakuTable td {
        padding: 10px;
        vertical-align: top;
        border-right: solid 1px #ddd;
        border-bottom: solid 1px #ddd;
    }
    .hikakuTable td ul {
        padding: 10px;
    }
    .hikakuTable td:first-of-type {
        border-bottom: solid 1px #ddd;
    }
    section#columnInfo .columnBox:nth-of-type(odd) .baseList {
        margin-left: calc(40% + 40px);
    }
    section#columnInfo .columnBox:nth-of-type(odd) .baseList.nofloat {
        margin-left: 0;
        clear: both;
        width: 100%;
    }
    .baseList {
        padding: 0;
        width: 50%;
    }
    .baseTable, .baseTable02 {
        padding: 0;
        margin: 20px 0;
    }
    .baseTable02 table tr {
        display: table;
        border-top: solid 1px #ccc;
    }
    .baseTable02 table th {
        display: table-cell;
        width: 20%;
        padding: 10px;
        background: none;
    }
    .baseTable table td, .baseTable02 table td {
        display: table-cell;
        width: 80%;
    }
    .baseTable02 caption {
        padding-left: 10px;
    }
    .icoXls:hover, .icoPdf:hover {
        opacity: 0.6;
    }
    .columnSubTit01 {
        padding-left: 0 !important;
    }
    .columnSubTit01:before {
        margin-bottom: 5px;
    }
    section#columnInfo .columnBox .areaBox {
        overflow: hidden;
        margin-bottom: 20px;
        clear: both;
    }
    section#columnInfo .columnBox .areaBox:nth-of-type(even) figure, section#columnInfo .columnBox .areaBox figure.right {
        float: right;
        margin: 0 0 0 30px;
    }
    section#columnInfo .columnBox .areaBox figure.right {
        margin-top: 20px;
    }
    .yukataPlan {
        display: flex;
        margin-bottom: 40px;
    }
    h3.planYukata {
        line-height: 1.4;
    }
    h3.planYukata br {
        display: block;
    }
    .yukataPlan div {
        width: 23.5%;
        margin-right: 2%;
        background: #f0f0f0;
        padding: 20px;
        border-radius: 10px;
    }
    .yukataPrice + p {
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }
    .yukataPlan div:last-of-type {
        margin-right: 0;
    }
    .yukataFlow {
        display: flex;
    }
    .yukataFlow li {
        width: 15%;
        margin-right: 2%;
    }
    .yukataFlow li:last-of-type {
        margin-right: 0;
    }
    .yukataFlow li h3 {
        position: relative;
        padding: 80px 0 0 0 !important;
        text-align: center;
    }
    .yukataFlow li h3 span {
        padding: 0 !important;
    }
    .yukataFlow li h3:before {
        font-size: 24px;
        width: 50px;
        height: 50px;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .loadmore {
        width: 350px;
        padding: 15px;
        transition: all 0.2s;
        cursor: pointer;
    }
    .loadmore:hover {
        opacity: 0.6;
    }
    #campaignTit #welPartyTit img, #campaignTit #partyTit img, #campaignTit #hanamiTit img {
        display: none;
    }
    #campaignTit #welPartyTit {
        background: url("../img/campaign/welcome-party_bg.webp")center center no-repeat;
        background-size: cover;
        min-height: 712px;
        position: relative;
    }
    #campaignTit #partyTit {
        background: url("../img/campaign/party_bg.webp")center center no-repeat;
        background-size: cover;
        min-height: 712px;
        position: relative;
    }
    #campaignTit #partyTit:before {
        content: "";
        background: url("../img/campaign/party_tit.webp")center center no-repeat;
        width: 817px;
        height: 395px;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    #campaignTit #hanamiTit {
        background: url("../img/campaign/hanami_bg.webp")center center no-repeat;
        background-size: cover;
        min-height: 712px;
        position: relative;
    }
    #campaignTit #hanamiTit:before {
        content: "";
        background: url("../img/campaign/hanami_tit.webp")center center no-repeat;
        width: 534px;
        height: 536px;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }
    #partyColumn, #hanamiColumn {
        width: 1200px;
        margin: 0 auto;
        padding: 40px 0;
    }
    #partyColumn h1 br, #hanamiColumn br {
        display: none;
    }
    #partyColumn h1 {
        padding: 20px 0;
        font-size: 40px;
    }
    #hanamiColumn h1, #hanamiColumn.welParty h1 {
        padding: 10px 0;
        font-size: 26px;
    }
    #hanamiColumn.welParty h1:before {
        width: 100px;
        height: 100px;
        bottom: -50px;
    }
    #partyColumn h2, #hanamiBottom h2 {
        font-size: 26px;
        position: relative;
        border-top: solid 2px #ccc;
        padding: 40px 0 0 10px;
        margin-bottom: 40px;
    }
    #partyColumn h2 span, #hanamiBottom h2 span {
        padding-bottom: 0;
        border-bottom: none;
    }
    #partyColumn h2:before, #hanamiColumn #hanamiBottom h2:before {
        content: "";
        width: 40%;
        position: absolute;
        background: #C15408;
        height: 2px;
        top: -2px;
        left: 0;
    }
    #hanamiColumn.welParty #hanamiBottom h2:before {
        background: #2e5b42;
    }
    #partyColumn p, #hanamiColumn p {
        font-size: 18px;
        margin-bottom: 60px;
    }
    .partySelect {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 80px;
        gap: 4%;
    }
    .partySelect > li {
        width: 48%;
    }
    .partySelect > li:not(:first-of-type) {
        margin-top: 0;
    }
    .partySelect > li:nth-of-type(2) ~ li {
        margin-top: 60px;
    }
    .partySelect h3 {
        margin-bottom: 0;
        margin-top: 0;
        font-size: 20px;
        position: relative;
        padding: 20px 15px;
        font-weight: bold;
        color: #601602;
        border: none;
        border-radius: 0;
        text-align: left;
    }
    .partySelect h3:before {
        content: "";
        width: 4px;
        height: 36px;
        position: absolute;
        left: 0;
        background: #601602;
        top: 50%;
        transform: translateY(-50%);
    }
    #partyColumn h4:before, #partyColumn h4:after {
        top: -3px;
    }
    .partyPlan.single li {
        width: 49%;
    }
    .partyPlan li a:hover {
        background: #5F1702;
        color: #fff;
    }
    .partyFlow li {
        position: relative;
        min-height: 320px;
        margin-bottom: 40px;
    }
    .partyFlow li img {
        width: 480px !important;
        height: 320px;
        position: absolute;
        left: 0;
        top: 0;
    }
    .partyFlow li h3 {
        margin-left: 500px;
        font-size: 24px;
        margin-bottom: 20px;
    }
    .partyFlow li h3:before {
        font-size: 20px;
        top: 8px;
    }
    .partyFlow li p {
        margin-left: 530px;
    }
    #partyColumn > .baseBtn {
        width: 60%;
        margin: 0 auto;
        padding: 20px;
        font-size: 18px;
        font-weight: bold;
    }
    .columnBox.shopList01 .areaBox:not(:first-of-type) {
        border-top: solid 1px #ccc;
        padding-top: 60px;
    }
    .columnBox.shopList01 .areaBox h3 {
        margin-top: 0 !important;
        font-size: 24px !important;
        margin-bottom: 30px !important;
    }
    .columnBox.shopList01 .areaBox figure {
        margin-top: 10px;
    }
    .columnBox.shopList01 .areaBox figure img {
        border-radius: 5px;
    }
    .columnBox #resultList h3 {
        font-size: 24px !important;
        margin-bottom: 20px !important;
    }
    .columnBox #resultList figure {
        width: 384px;
    }
    .columnBox #resultList p {
        padding: 0;
    }
    .attent {
        width: 1200px;
        margin: 40px auto 20px auto;
        padding: 40px;
    }
    .attent h2 {
        font-size: 24px;
        text-align: left;
    }
    .attent p span.rborder {
        font-size: 20px;
    }
    .attent p span.rborder br:nth-of-type(2) {
        display: none;
    }
    section#columnInfo ul.boxList {
        margin: 0 0 40px 0;
        display: flex;
    }
    section#columnInfo ul.boxList li {
        font-size: 18px;
        text-align: center;
        width: 49%;
        margin-right: 2%;
    }
    section#columnInfo ul.boxList li:last-of-type {
        margin-right: 0;
    }
    #hanamiColumn h2, #hanamiColumn.welParty h2 span {
        font-size: 30px;
        margin-bottom: 30px;
    }
    #hanamiColumn #hanamiPlan {
        display: flex;
        flex-wrap: wrap;
    }
    #hanamiColumn #hanamiPlan > div {
        width: 48%;
        margin-bottom: 4%;
        padding: 20px 30px 30px 30px;
        border-radius: 5px;
        background: #fff;
        filter: drop-shadow(2px 2px 6px rgba(0, 0, 0, 0.1));
    }
    #hanamiColumn #hanamiPlan > div:nth-of-type(even) {
        margin-left: 4%;
    }
    #hanamiColumn #hanamiPlan > div h3 {
        font-size: 20px;
        text-align: center;
    }
    #hanamiColumn #hanamiPlan > div ul li {
        display: flex;
        align-items: center;
    }
    #hanamiColumn #hanamiPlan > div ul li a {
        width: 34%;
    }
    #hanamiColumn #hanamiPlan > div ul li a:hover {
        box-shadow: 2px 3.464px 10px 0px rgba(200, 200, 200, 1.0);
        background: #fff;
        color: #ec3286;
    }
    #hanamiColumn #hanamiPlan > div ul li p {
        width: 66%;
        margin-bottom: 0;
    }
    #hanamiBottom .box {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    #hanamiBottom .box > div {
        width: calc(60% - 30px);
    }
    #hanamiBottom .box img {
        width: 40%;
        margin: 0 30px 0 0;
    }
    #hanamiBottom .box:not(:last-of-type) {
        margin-bottom: 60px;
    }
    #hanamiBottom .box:nth-of-type(even) img {
        order: 2;
        margin: 0 0 0 30px;
    }
    #hanamiBottom .box h3 {
        padding: 0;
        margin-bottom: 20px;
        font-size: 24px;
    }
    #hanamiBottom .box p {
        margin-bottom: 10px !important;
    }
    #hanamiBottom .box ol {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 40px 0;
    }
    #hanamiBottom .box ol li {
        width: 32%;
        margin-right: 2%;
    }
    #hanamiBottom .box ol li:nth-of-type(3), #hanamiBottom .box ol li:nth-of-type(5) {
        margin-right: 0;
    }
    #hanamiBottom .box ol li:nth-of-type(3) ~ li {
        width: 49%;
    }
    #hanamiBottom .box ol li p {
        font-size: 16px;
    }
    #hanamiBottom ol li h4 {
        padding-left: 40px;
        margin: 10px 0 20px 0;
        font-size: 22px;
    }
    #hanamiBottom ol li h4:before {
        font-size: 20px;
        width: 30px;
        height: 30px;
        top: 50%;
        transform: translateY(-50%);
    }
    section#columnInfo .rankingList {
        position: relative;
    }
    section#columnInfo .rankingBox {
        position: relative;
        padding-bottom: 20px;
        box-shadow: none;
        border-bottom: solid 1px #000;
    }
    section#columnInfo .rankingBox figure {
        position: absolute;
        right: 0;
        top: 20px;
        margin: 0;
    }
    section#columnInfo .rankingBox figure img {
        border-radius: 10px;
    }
    section#columnInfo .rankingList h3 {
        text-align: left;
        font-size: 30px;
        line-height: 1;
    }
    section#columnInfo .rankingList h3 span {
        padding: 8px 0;
        margin-bottom: 15px;
    }
    section#columnInfo .rankingBox {
        margin-bottom: 60px;
    }
    section#columnInfo .rankingBox > p {
        margin-bottom: 20px !important;
        width: 56%;
    }
    section#columnInfo .rankingList h4 {
        text-align: left;
        font-size: 20px;
        margin-bottom: 5px;
        width: 56%;
    }
    section#columnInfo .rankingList .rankingPrice {
        margin-bottom: 30px;
        border: solid 1px #000;
        border-radius: 10px;
        display: flex;
        flex-wrap: wrap;
        width: 56%;
    }
    section#columnInfo .rankingList .rankingPrice li {
        width: 100%;
        display: flex;
        align-items: center;
        padding: 15px 20px;
    }
    section#columnInfo .rankingList .rankingPrice li p {
        font-size: 18px;
        font-weight: bold;
    }
    section#columnInfo .rankingList .rankingPrice li .price {
        font-size: 26px;
    }
    section#columnInfo .rankingBox a {
        width: 80%;
        margin: 0 auto;
        display: block;
        padding: 15px;
    }
    section#columnInfo .rankingBox a:hover {
        opacity: 0.6;
    }
    section#columnInfo .rankingList .rankingPrice li p .note br {
        display: none;
    }
    #topBanar {
        width: 1180px;
        margin: 0 auto;
        padding: 40px 0 0 0;
    }
    #topBanar ul {
        display: flex;
        justify-content: center;
        padding: 0;
    }
    #topBanar ul li {
        width: 70%;
    }
    #topBanar ul li:not(:last-of-type) {
        margin-bottom: 0;
        margin-right: 20px;
    }
    #hanamiColumn.welParty .searchBtn {
        padding: 40px;
        margin-bottom: 80px;
    }
    #hanamiColumn.welParty .searchBtn a {
        padding: 20px 20px 20px 40px;
        font-size: 20px;
        width: 500px;
        margin: 0 auto;
    }
    #hanamiColumn.welParty .searchBtn a:before {
        font-size: 26px;
        left: 30px;
    }
    #hanamiColumn.welParty .searchBtn a:hover {
        transform: scale(1.04);
    }
    .restNews {
        width: 700px;
        margin: 0 auto;
        padding: 80px 0;
    }
    .restNews h2 {
        font-size: 24px;
        margin-bottom: 40px;
    }
    .restNews p {
        font-size: 18px;
    }
    .restNews a {
        display: block;
        margin: 20px auto 0 auto;
        padding: 15px;
        width: 300px;
    }
    .campaignAlart {
        width: 1000px;
        margin: 60px auto 40px auto;
        padding: 10px;
    }
    .campaignAlart p {
        font-size: 24px;
    }
    .reserveWait {
        display: inline-block;
        padding: 10px 80px !important;
        margin: 0 0 15px 0 !important;
    }
    .footLink {
        width: 40%;
        margin: 0 auto 20px auto;
    }
    #useFlow {
        width: 1200px;
        margin: 0 auto 60px auto;
        padding: 60px;
        border-radius: 5px;
    }
    #useFlow > ul {
        padding: 0 20px;
    }
    #useFlow > ul > li {
        padding: 25px;
    }
    #useFlow > ul > li:not(:last-of-type):after {
        border-width: 12px 12px 0 12px;
        bottom: -28px;
    }
    #useFlow > ul > li h3 {
        font-size: 22px;
    }
    #useFlow > ul > li h3:before {
        font-size: 18px;
    }
    #useFlow > ul > li a.searchBtn {
        width: 400px;
        margin: 30px auto 0 auto;
    }
    #useFlow > ul > li a:hover {
        opacity: 0.6;
    }
    #useFlow > ul > li:nth-of-type(2) {
        display: flex;
        flex-wrap: wrap;
    }
    #useFlow ul li:nth-of-type(2) h3, #useFlow ul li:nth-of-type(2) p {
        width: 100%;
    }
    #useFlow > ul > li:nth-of-type(2) div {
        width: 30%;
        margin-right: 5%;
        margin-top: 30px;
    }
    #useFlow > ul > li:nth-of-type(2) div:last-of-type {
        margin-right: 0;
    }
    #useFlow > ul > li:nth-of-type(2) div h4 {
        text-align: center;
        font-weight: bold;
        margin-bottom: 10px;
        padding: 5px 0;
    }
    #useFlow .telBox {
        margin-top: 40px;
    }
    #useFlow .telBox a {
        font-size: 40px;
        padding-left: 35px;
    }
    #useFlow .telBox a:before {
        content: "";
        background: url("../img/suport/ico_tel.avif")no-repeat;
        background-size: 30px;
        width: 30px;
        height: 30px;
    }
    #useFlow .telBox p:nth-of-type(2) {
        font-size: 16px;
        margin-bottom: 20px;
    }
    #useFlow .info {
        display: flex;
        flex-wrap: wrap;
    }
    #useFlow .info h3, #useFlow .info > p {
        width: 100%;
    }
    #useFlow .info > div {
        width: 48%;
        border-top: solid 1px #ccc;
        padding-top: 20px;
        margin-top: 30px !important;
    }
    #useFlow .info div:before {
        display: none;
    }
    #useFlow .info > div:first-of-type {
        margin-right: 4%;
    }
    #useFlow .info h4 {
        text-align: left;
        font-size: 18px;
    }
    #useFlow .info h4:before, #useFlow .info h4:after {
        display: none;
    }
    #useFlow .info img {
        width: 60%;
        height: auto;
        margin-top: 10px;
    }
    #estimateBlock a {
        width: 400px;
        margin: 40px auto;
    }
    #estimateBlock a:hover {
        opacity: 0.6;
    }
    .phRBox {
        float: right;
        margin: 0 0 20px 20px;
    }
    .phRBox img {
        width: 400px;
        height: auto;
    }
    .linkBanar li a.infoBtn:hover {
        opacity: 0.6;
    }
    .monjaFaq {
        display: flex;
    }
    .monjaFaq li:not(:last-of-type) {
        margin-bottom: 0;
        margin-right: 2%;
    }
    .monjaFaq li h3 {
        font-size: 20px !important;
        padding: 20px 0 !important;
    }
    .monjaFaq li {
        width: 32%;
        padding: 10px 20px 50px 20px;
    }
    .monjaFaq li p {
        margin-bottom: 0 !important;
    }
    .planBox:not(:last-of-type) {
        margin-bottom: 100px;
    }
    .planBox figure {
        width: 40%;
        float: right;
        margin: 0 0 30px 30px;
    }
    .planBox img {
        border-radius: 10px;
    }
    .planBox h3 {
        font-size: 22px;
        margin-bottom: 30px;
    }
    .planBox p {
        padding: 0;
    }
    .planBox .baseTable02 {
        margin-bottom: 40px;
    }
    .planBox a {
        width: 40%;
        margin: 0 auto;
    }
    #newsList {
        padding: 0 20px 40px 20px;
    }
    #newsList h2 {
        font-size: 46px;
    }
    #newsList ul {
        max-width: 1040px;
        margin: 0 auto;
    }
    #newsList li {
        padding: 10px 10px 10px 20px !important;
        margin-bottom: 20px !important;
        background: #F6F6F6;
    }
    #newsList li:last-of-type {
        margin-bottom: 0 !important;
    }
    #newsList li span {
        display: inline-block;
        margin-right: 30px;
    }
    #newsList li:before {
        top: 50%;
        transform: translateY(-50%);
    }
.trainRoute{
	max-width: 1000px;
	margin: 0 auto 40px auto;
	border-radius: 5px;
	overflow: hidden;
}
.planTit{
	padding: 0;
	font-size: 28px;
}
}