@media only screen and (max-width: 767px) {
    body {
        min-width: 375px;
        overflow-x: hidden;
    }

    #hisApp {
        min-width: 375px;
        overflow-x: hidden;
    }

    .l-container {
        width: 100%;
        padding: 0 24px;
    }

    .section-width {
        width: 992px;
        margin: 0 auto;
    }

    /* modules */
    .button-detail {
        padding: 15px 0;
    }
    
    .slick-dots {
        margin-top: 15px;
    }

    /* mv */
    .mv {
        height: auto;
    }

    .mv__bg {
        background-image: url(../img/mv_bg_sp_1.jpg);
        height: auto;
    }
    .mv__bg::after {
        display: none;
    }  
    .mv__decoration {
        max-width: 100%;
        height: auto;
    }  
    
    .mv__title img {
        width: 300px;
        margin-bottom: 24px;
    }
    .mv__title .mv__title-text {
        font-size: 18px;
        margin-bottom: 24px;
    }
    .mv__title .mv__title-text span {
        font-size: 24px;
    }
    .mv__btn-text {
        font-size: 14px;
    }
    .mv__btn-text span {
        font-size: 18px;
    }
    .mv__sp-btn img {
        width: 150px;
    }
    .mv__inner {
        position: static;
        display: block;
        transform: translate(0);
        padding: 24px 0 0 0;
    }
    .mv__decoration img {
        width: 100%;
        padding: 0;
    }
    .mv__inner::after {
        display: none;
    }

    .mv__btn {
        width: 256px;
    }
	.mv__btn-wrap {
        padding-bottom: 16px;
    }
	.mv__btn-wrap a{
    background: #7DB446 URL(/cmn/icon/icon_arrow_down_white_sp.svg) no-repeat right 16px center;
    display: block;
    width: 256px;
    margin: auto;
    padding: 8px 0;
    font-size: 16px;
    }
    .mv__btn_iku-wrap a{
        background: #EB8631 URL(/cmn/icon/icon_arrow_down_white_sp.svg) no-repeat right 16px center;
        display: block;
        width: 256px;
        margin: auto;
        padding: 8px 0;
        font-size: 16px;
    }
	.mv__btn-wrap a:hover{
	color: #7DB446;
    background: #FFF URL(/cmn/icon/icon_arrow_down_green_sp.svg) no-repeat right 16px center;
	border: 1px solid #FFF;
	}
    .mv__btn_iku-wrap a:hover{
        color: #EB8631;
        background: #FFF URL(/oe/theme/ikumiru/img/icon_arrow_down_orange_sp.svg) no-repeat right 16px center;
        border: 1px solid #FFF;
        }
    
    .price-details__current {
        font-size: 25px;
        color: #F01C1C;
    }

    .price-details__current span {
        margin-left: 17px;
    }

    .mv_content-button {
        margin-top: 21px;
    }
    /* trial */
	.trial__inner h3 {
	font-size:24px !important;
    text-align: left;
	padding-bottom: 24px;
	}
	
	.trial__title{
	font-size:18px;
	font-weight: bold;
	padding-bottom: 16px;    
}
	/* plan */
	.plan__inner h3{
	font-size: 24px !important;
	text-align: left;	
	padding-bottom: 24px; 
    }

    .plan__text {
	font-size: 16px;
    } 
	.new_priceplan__content {
	text-align: center;
	padding-bottom: 24px;
    }
	
	.new_priceplan__content img{
	width: 100%;
	}
    /* payment */
	.payment__text p{
	padding-bottom: 70px;
	}
	
    /* overview */
    .overview.l-container {
        padding: 0;
        padding-top: 56px;
    }
    .overview__bg {
        padding: 40px 24px;
    }
    
    .overview__description {
        color: #333333;
        padding: 0 24px;
    }

    .overview__description h3 {
        font-size: 24px;
        font-weight: bold;
    }
    .overview__subttl {
        margin-top: 0;
        margin-bottom: 16px;
    }
    .overview__subttl span {
        font-size: 20px;
    }

    .overview__contents-title::before,
    .overview__contents-title::after {
        display: none;
    }

    .overview__icon {
        display: flex !important;
        justify-content: center;
        margin-bottom: 24px;
    }
    .overview__icon img {
        height: 140px;
    }

    .overview__description p {
        font-size: 14px;
        margin-top: 34px;
    }

    .overview__list li {
        display: block;
        height: auto;
        padding: 24px 16px;
    }
    .overview__list li img {
        width: 100%;
    }

    .overview__item-inner {
        margin-left: 0;
        margin-top: 16px;
    }
    .overview__item-inner p {
        margin-top: 8px;
    }

    .accordion-container {
        margin-top: 70px;
    }

    .accordion-inner {
        padding-top: 31px;

    }

    .accordion-container h3 {
        font-size: 20px;
    }

    .accordion-container h4 {
        font-size: 14px;
        font-weight: bold;
    }

    .accordion::before {
        width: 16px;
        height: 2px;
    }

    .accordion::after {
        width: 2px;
        height: 16px;
    }

    .accordion.is-hide::after {
        opacity: 1;
    }

    .accordion-container--mini {
        margin-top: 10px;
    }

    .accordion-container--light {
        margin-top: 0;
    }

    .accordion-container--mini .accordion-inner {
        padding: 17px;
    }

    .accordion-container--light .accordion-inner {
        padding: 7px;
    }

    .accordion-container--mini .accordion {
        width: 13px;
        height: 13px;
        margin-left: 4px;
    }

    .accordion-container--mini .accordion::after {
        width: 2px;
        height: 13px;
    }

    .accordion-container--mini .accordion::before {
        width: 13px;
        height: 2px;
    }

    .panel {
        margin-top: 25px;
    }

    .accordion-container--mini .panel {
        margin-top: 0;
        padding: 15px;
    }

    .accordion-container--mini .panel.is-hide {
        padding: 0 15px;
    }

    .tour-points__article {
        background-color: #F2F2F2;
        padding: 14px 18px;
        border-radius: 4px;
        margin-top: 26px;
    }

    .tour-points__article:first-child {
        margin-top: 0;
    }

    .tour-points__article h4 {
        font-size: 20px;
    }

    .tour-points__article p {
        font-size: 14px;
        margin-top: 16px;
    }

    .gallery__image-list {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        margin-top: 0;
        justify-content: flex-start;
    }

    .gallery__image-item {
        width: 75px;
        height: 75px;
        margin-top: 10px;
        margin-right: 10px;
        border-radius: 4px;
        overflow: hidden;
    }

    .gallery__image-item img {
        width: 100%;
    }

    .gallery__modal {
        display: none;
        opacity: 0;
        position: fixed;
        width: 100%;
        height: 100%;
        background-color: #5B5B5B;
        z-index: 11;
        top: 0;
        left: 0;
        transition: opacity 0.6s ease-out 0.3s;
    }

    .gallery__modal-slider {
        width: 95%;
        height: 199px;
    }

    .gallery__modal-slider-item {
        width: 295px;
        height: 199px;
    }

    .gallery__modal-slider .slider-arrow--left {
        left: -7.7%;
    }

    .gallery__modal-slider .slider-arrow--right {
        right: -7.7%;
    }

    .gallery__modal-close {
        top: 2%;
        right: 4.6%;
    }

    .schedule__item {
        display: flex;
        flex-direction: column;
        position: relative;
        align-items: flex-start;
        color: #333333;
        font-size: 14px;
        padding-bottom: 24px;
    }

    .schedule__item::before {
        content: '';
        width: 16px;
        height: 16px;
        position: absolute;
        background-color: #CCCCCC;
        border-radius: 100%;
        left: 0;
        top: 29%;
    }

    .schedule__item:nth-child(3)::before {
        top: 35%;
    }
    .schedule__item:nth-child(4)::before {
        top: 35%;
    }
    .schedule__item:nth-child(5)::before {
        top: 38%;
    }
    .schedule__item:nth-child(6)::before {
        top: 36%;
    }
    .schedule__item:nth-child(7)::before {
        top: 56px;
    }
    .schedule__item:nth-child(8)::before {
        top: 47%;
    }
    .schedule__item:last-child::before {
        top: 24%;
    }

    .schedule__item::after {
        content: '';
        height: 100%;
        position: absolute;
        border-left: 2px dashed #CCCCCC;
        border-spacing: 5px;
        left: 7px;
        top: 32%;
    }
    .schedule__item h4 {
        width: 100%;
        font-weight: bold;
        font-size: 14px;
        text-align: center;
        margin-right: unset;
        position: relative;
    }

    .schedule__item h4::before {
        content: '';
        height: 1px;
        width: 39%;
        background-color: #D7D7D7;
        position: absolute;
        top: 10px;
        left: 0;
    }
    .schedule__item h4::after {
        content: '';
        height: 1px;
        width: 39%;
        background-color: #D7D7D7;
        position: absolute;
        top: 10px;
        right: 0;
    }

    .schedule__item p {
        width: 100%;
        padding: 10px 0 0 23px;
    }

    .schedule__item p span {
        font-weight: bold;
        font-size: 16px;
    }

    .schedule__item:last-of-type::after {
        opacity: 0;
    }

    .reviews__evaluation {
        flex-wrap: wrap;
    }

    .reviews__evaluation button {
        font-size: 16px;
        padding: 18px 23px;
        margin-top: 20px;
        left: 50%;
        transform: translateX(-50%);
        color: #333333;
    }

    .reviews__evaluation button::before {
        display: none;
    }

    .reviews__list {
        width: 100%;
    }

    .reviews__list .slider-arrow {
        opacity: 0;
    }
    
    .review {
        width: 100%;
    }

    .reviews__item {
        margin: 0 8px;
    }

    .review__user-profile {
        margin-right: 8px;
    }

    .review__user-details p {
        font-size: 12px;
    }

    .plan__participation {
        padding-bottom: 70px;
    }

    .plan__participation-info {
        font-size: 14px;
        position: relative;
    }

    .plan__participation-info span {
        position: absolute;
        font-size: 12px;
        border: 1px solid #CCCCCC;
        padding: 2px 5px 0;
        right: 0;
        top: 0;
    }

    .plan__list {
        display: block;
    }
    .plan__item {
        padding: 24px;
    }
    .plan__item:first-child {
        margin-bottom: 24px;
        margin-right: 0;
    }

    .plan__details {
        width: 70%;
    }

    .plan__details-heading {
        justify-content: space-between;
        align-items: flex-start;
        /*padding-left: 32px;*/
    }
    
    .plan__tour-code {
        position: relative;
        top: 10px;
    }
    
    .plan__details-description {
        font-size: 14px;
    }

    .plan__details-heading h4 {
        font-size: 20px;
    }

    .plan__button .button-detail {
        width: 256px;
        padding: 16px 0;
        font-size: 20px;
    }

    .plan__button .button-detail::after {
        right: 14px;
    }

    .plan__price-details {
        /*max-height: 0;*/
        transition: max-height 0.3s ease-out;
    }

    .plan__item.is-checked .plan__price-details {
        max-height: 200px;
    }

    .plan__reservation {
        padding: 30px 0;
    }

    .plan__reservation-contents {
        margin-top: 26px;
        padding: 25px;
    }

    .plan__reservation-contents h4 {
        font-size: 18px;
    }

    .plan__reservation-depart {
        font-size: 14px;
    }

    .campaign {
        padding: 40px 0 64px;
    }
    .campaign__title {
        text-align: center;
    }
    .campaign .campaign__title::after {
        position: static;
        margin-top: 16px;
    }
    .campaign__step {
        display: block;
    }
    .campaign__step li {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 16px;
    }
    .campaign__step li:last-child {
        margin-bottom: 0;
    }
    .campaign__step li img {
        width: 60px;
        height: 60px;
    }
    .campaign__step li .campaign__step-text {
        margin-top: 0;
        margin-left: 16px;
        width: 76.7%;
    }

    .campaign__btn a {
        max-width: 256px;
        margin-bottom: 24px !important;
    }
    
    .checkmark {
        width: 20px;
        height: 20px;
        border-radius: 4px;
        border-width: 2px;
    }

    .checkmark::after {
        width: 11.56px;
        height: 9.32px;
    }

    .select__heading {
        position: relative;
    }
    
    .select__heading h4 {
        font-size: 16px;
    }

    .select__heading span {
        font-size: 12px;
    }
    
    .select__heading p {
        font-size: 16px;
        margin-top: 5px;
    }

    .select__heading .change {
        position: absolute;
        right: 0;
        top: 34px;
    }
    
    .calendar__item {
        width: calc(100%/7);
    }

    .calendar__day {
        padding: 1px 0;
    }

    .calendar__date {
        height: 49px;
        font-size: 14px;
        padding-top: 2px;
    }

    .calendar__date span {
        font-size: 11px;
    }

    .calendar__date::after {
        bottom: 12%;
    }

    .calendar__date.circle::after {
        border-width: 2px;
    }

    .calendar__date.xmark::after {
        width: 11px;
        height: 11px;
    }

    .calendar__date.triangle::after {
        width: 13px;
        height: 11px;   
    }

    .calendar__modal-inner {
        width: 90%;
    }

    .calendar__modal-select {
        flex-wrap: wrap;
    }

    .calendar__modal-select .select {
        width: 100%;
        margin: 19px 36px 0;
    }

    .calendar__modal-close {
        right: 4%;
    }

    .plan__reservation-coupon {
        margin-top: 45px;
    }

    .coupon {
        margin-top: 4px;
    }

    .select {
        margin-top: 3px;
        background-position: 95%;
    }

    .plan__reservation-select {
        margin-top: 16px;
    }

    .plan__reservation-select .plan-schedule {
        margin-top: 12px;
    }

    .plan__reservation-calendar {
        margin-top: 24px;
    }

    .plan__reservation-quantity {
        margin-top: 16px;
    }

    .quantity__container {
        margin-top: 1px;
    }

    .plan__reservation-total {
        margin-top: 10px;
    }

    .total__amount {
        font-size: 14px;
    }

    .total__button {
        margin-top: 14px;
    }

    .total__notes {
        font-size: 12px;
        margin-top: 21px;
    }

    .total__notes p {
        padding-left: 13px;
    }
    
    .plan__precautions {
        padding-top: 69px;
    }

    .featured__list {
        width: 100%;
    }
    
    .featured__product {
        width: 100%;
    }

    .featured__item {
        margin: 0 6px;
    }

    p.featured__product-price {
        font-size: 18px;
    }
    
    .faq__item {
        margin-top: 31px;
    }

    .faq__answer {
        font-size: 14px;
        background-color: #F2F2F2;
        margin-top: 17px;
        position: relative;
        border-radius: 4px;
    }

    .faq__answer::before {
        left: 0;
    }

    .inquiry {
        border-top: 1px solid #D7D7D7;
        margin-top: 80px;
    }

    .inquiry__title {
        padding: 33px 0 0px;
    }

    .inquiry__notes {
        font-size: 16px;
    }

    .inquiry__details {
        background-color: #F2F2F2;
        padding: 16px;
        margin-top: 17px;
    }

    .inquiry__details h4 {
        font-size: 16px;
    }

    .inquiry__details p {
        font-size: 14px;
        margin-top: 9px;
    }

    .inquiry__button {
        font-size: 16px;
        border: 1px solid #888888;
        color: #333333;
        border-radius: 30px;
        padding: 18px 15px;
        background-color: #fff;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        margin-top: 27px;
    }

    .nav-config {
        width: 100%;
        display: none;
    }

    .nav-config__container {
        position: fixed;
        width: 100%;
        height: auto;
        bottom: 0;
        left: 0;
        z-index: 9;
        background-color: #fff;
        box-shadow: 0 2px 6px rgb(0 0 0 / 15%);
        display: block;
        padding-bottom: 16px;
    }

    .nav-config__inner {
        display: block;
    }

    .nav-config__menu {
        font-size: 14px;
        padding: 24px 0;
    }
    .nav-config__menu.u-show-sp {
        display: flex !important;
        justify-content: space-between;
    }

    .nav-config__menu span {
        font-weight: bold;
        flex-shrink: 0;
        margin-right: 8px;
    }
    .nav-config__menu span:last-child {
        margin-right: 0;
    }
    .nav-config__menu span a {
        color: #333;
        text-decoration: none;
    }

    .nav-config__per-person {
        font-size: 14px;
    }
    .nav-config__details {
        font-size: 12px;
        position: relative;
        width: 40%;
        margin-left: auto;
    }

    .nav-config__details span {
        text-decoration: line-through;
    }

    .nav-config__price {
        font-size: 20px;
        color: #F01C1C;
        font-weight: bold;
    }

    .nav-config__price span {
        font-size: 16px;
        text-decoration: none;
        position: relative;
        top: 10px;
        left: 10px;
    }

    .nav-config__button {
        margin-left: 0;
    }

    .nav-config__button .button-detail {
        font-size: 18px;
        padding: 18px 0;
		transform: translate(-37%);
    }

    .nav-config__button .button-detail::after {
        display: none;
    }

    .nav-config__details button {
        font-size: 16px;
        border: none;
        background-color: #FF6200;
        color: #fff;
		transform: translate(-80px);
        padding: 15px 52px;
        border-radius: 4px;
    }
	.button-detail { 
	width: 160%;
	
	}

	/* 追加 */
	.mv_btn {
    width: 40%;
    position: absolute;
    bottom: -16px;
    right: 16px;
    }
	.mv_btn img {
    width: 100%;
    }
	.button.button--type-round {
    margin: 0 0 16px;
    }
	.link-btn__button-wrapper {
    text-align: center;
    margin: 40px 0;
    }
	p.feature__abouttext {
    padding-bottom: 24px;
    }
	.plan__participation {
    padding-bottom: 0;
    }
	.plan__price {
		font-size: 18px;
	}
	.plan__price span {
		font-size: 22px;
	}
	.plan__details-description {
    margin-top: 8px;
    }
	.sp-only {
  display: block;
    }
	.grid-col5 {
    width: 100%;
    padding: 0;
    }
	.step .imgContainer--full>img {
    border: 1px solid #ccc;
    border-radius: 4px;
		padding: 5%;
    }
	.step a {
    color:#333;
    text-decoration:underline;
    }
    .youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
    }
    .youtube iframe {
    width: 100%;
    height: 100%;
    }


    .featured .accordion-inner {
        display: block;
    }
    .tag_standard,
    .tag_light {
        justify-content: flex-end;
    }
    .result-wrap {
        padding: 0;
    }
	.plan_standard,
    .plan_light {
        width: 100%;
        margin-right: 0;
        padding: 16px 16px 8px;
        margin-bottom: 8px;
        border: none;
        box-shadow: none;
        display: flex;
        flex-wrap: wrap;
    }
    .result-wrap > div.plan_standard:nth-child(odd),
    .result-wrap > div.plan_light:nth-child(odd) {
        background-color: #F2F2F2;
    }
    .img-link {
        width: 172px;
        height: 136px;
    }
    .img-link::after {
        height: 25px;
        background-size: 100%;
    }
    .plan_standard .img-link::after {
        background-image: url(/oe/images/icon/plan_standard_sp1.svg);
    }
    .plan_light .img-link::after {
        background-image: url(/oe/images/icon/plan_light_sp1.svg);
    }
    .img-link img {
        height: calc(100% - 30px);
    }
    .text-box {
        padding-left: 12px;
        width: calc(100% - 172px);
        padding-bottom: 10px;
    }
    .text-link {
        padding: 0;
        font-size: 1rem;
        font-weight: normal;
        line-height: 1.4;
    }
    .date-box {
        margin-left: -16px;
    }
    .tag-box {
        padding: 8px 0 0 0;
    }
    .tag-box span {
        color: #F25749;
        border: 1px solid #F25749;
        border-radius: 20px;
        line-height: 20px;
        white-space: nowrap;
        font-size: .875rem;
        padding: 0 1em;
        margin-right: 8px;
    }
    .review-box {
        position: absolute;
        top: 130px;
        left: 16px;
        bottom: auto;
        padding: 0;
        width: 172px;
        height: auto;
        justify-content: space-between;
    }
    .review-box a {
        margin: 0;
    }
}
