@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');

.contents_inner {
	max-width: 1200px;
}
#contents {
    font-family: YakuHanJP,'Zen Old Mincho', serif;
}

.contents_inner_02 {
    max-width: 1100px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 80%;
}

#contents .sp {
	display: none;
}
@media screen and (max-width: 840px) {
	#contents .pc {
		display: block;
	}
}
@media screen and (max-width: 640px) {
	#contents .pc {
		display: none;
	}
	#contents .sp {
		display: block;
	}
}
/*-----------------------------------

	planning_block

-----------------------------------*/
#planning_block {
	padding: 95px 0 61.5px;
}

.top_p {
    max-width: 910px;
    width: 90%;
    text-align:center;
    font-size: 15px;
    letter-spacing: 0;
}

.planning_top_block {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

#planning_block h2 {
	font-size: 41px;
	font-family: "EB Garamond", serif;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0;
	text-align: center;
	color: #003a7d;
	margin-bottom: 44.7px;
}
#planning_block h3 {
	font-size: 39px;
	font-weight: 400;
	line-height: 1.61;
	letter-spacing: -4px;
	text-align: center;
	margin-bottom: 50.5px;
}

.planning01_img_cap {
    position:relative;
}
.planning01_img_cap p{
    position:absolute;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 12px;
    right: 14px;
    bottom: 6px;
}

.planning01_img_cap .white {
    color:#FFFFFF;
}

.planning01_img_cap .black {
    color:#231815;
}

@media screen and (max-width: 640px) {
	#planning_block {
		padding: 49px 0 56px;
	}	
	#planning_block h2 {
		font-size: 29px;
		margin-bottom: 29px;
	}
	#planning_block h3 {
		font-size: 21px;
		letter-spacing: -2px;
		margin-bottom: 38px;
	}
	
}
/*-----------------------------------

	planning01

-----------------------------------*/
#planning01 {
	padding: 60px 0 100px;
}

.bg {
    background:url(../img/planning/bg.jpg);
    width:100%;
    height: 100%;
    object-fit: cover;
}

.points_contener {
    display:flex;
    flex-direction: row;
    justify-content: space-around;
    flex-wrap: wrap;
    column-gap:40px;
    row-gap: 60px;
}

.point_box {
    display: flex;
    flex-direction: column;
    width: 22%;
    min-width: 270px;
    align-items: center;
}
.point_box h4 {
    font-size: 19px;
    text-align: center;
    line-height: 150%;
}
.point_box:nth-child(1) h4 {
    color: #ED7950;
}
.point_box:nth-child(2) h4 {
    color: #88932A;
}
.point_box:nth-child(3) h4 {
    color: #BF7071;
}
.point_box:nth-child(4) h4 {
    color: #76939B;
}
.title_contener {
    width: 270px;
    height: 126px;
    margin-bottom: 10px;
}

.point_title {
    width:100%;
    height:100%;
}

.point_p {
    max-width:240px;
    width:98%;
    margin: 18px 0 23px 0;
    align-items: center;
    font-weight:500;
    letter-spacing:-1px;
    line-height: 2.8rem;
    font-size:14px;
    font-family: 'Noto Sans JP', sans-serif;
}

@media screen and (max-width: 1350px) {
    #planning01 .contents_inner {
        max-width: 900px;
        width:95%;
        display: flex;
        justify-content: center;
    }
    .points_contener {
        justify-content: space-evenly;
        column-gap: 60px;
    }

}


@media screen and (max-width: 640px) {
	#planning01 {
		padding: 44.8px 0 67.7px;
		margin-bottom: 19px;
	}
	
    .point_box h4 {
        min-height:60px;
    }

    .points_contener {
        column-gap: 25px;
    }
}

@media screen and (max-width: 450px) {
    .point_box h4 {
        min-height:85.5px;
    }

    .short_text h4 {
        min-height:55px;
    }
}

@media screen and (max-width: 350px) {
    .point_box h4 {
        min-height:30px;
    }
}

/*-----------------------------------

	planning02

-----------------------------------*/
#planning02 {
    padding: 90px 0 97px;
    display: flex;
    justify-content: center;
}

.banner_contener {
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 40px;
    margin-bottom:82px;
}
.banner_contener > a {
    display: block;
}

.rooms_wrap {
    display: flex;
    flex-direction: row;
    gap: 40px;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 80px;
}
.rooms_wrap h4 {
    width: 100%;
    padding-bottom: 9px;
    margin-bottom: 17px;
    position: relative;
}
.rooms_wrap h4::after {
    content: '';
    display: block;
    width: 250px;
    height: 1px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 1;
}
#rooms_sardegna h4 {
    border-bottom: 1px solid #ecd5c4;
}
#rooms_sardegna h4::after {
    background: #c0733b;
}
#rooms_andalucia h4 {
    border-bottom: 1px solid #f2c9d5;
}
#rooms_andalucia h4::after {
    background: #d44a73;
}
#rooms_mykonos h4 {
    border-bottom: 1px solid #b2deec;
}
#rooms_mykonos h4::after {
    background: #0090c1;
}
.rooms_wrap h4 img {
    display: block;
    margin: 0 auto 5px;
}
.rooms_wrap h4 span {
    display: block;
    font-size: 15px;
    font-family: 'Zen Old Mincho', serif;
    font-weight: 600;
    letter-spacing: -0.1em;
    text-align: center;
}
.rooms_wrap a {
    width: calc((100% - 80px) / 3);
    transition: ease 0.2s;
}
.rooms_wrap a:hover {
    opacity: 1;
}

.room_box {
    width:100%;
    height: 280px;
    display:flex;
    flex-direction:column;
    align-items:center;
    position:relative;
    transition: ease 0.2s;
}

.or_box {
    border:6px solid #F3A88D;
    background: #FBE2D8;
}
.or_box:hover {
    background-color:#F8C9B9;
}
.wr_box {
    border:6px solid #D5A2A3;
    background-color:#F5EAEA;
}
.wr_box:hover {
    background-color: #e5c6c6;
}
.gr_box {
    border:6px solid #b2b975;
    background-color:#e5e7d0;
}
.gr_box:hover {
    background-color:#cfd4aa;
}
.bl_box {
    border:6px solid #a6b9be;
    background-color:#e1e7e9;
}
.bl_box:hover {
    background-color:#adcdd6;
}

.about_room {
    display:flex;
    flex-direction:row;
    margin-bottom: 9px;
    align-items: center;
    letter-spacing: 0;
    position:relative;
}

.little_h {
    font-size:11px;
    margin-top:30px;
}

.headline {
    font-size:44px;
    margin: -25px 0 -12px 0;
}

.madori {
    font-size:22px;
    font-weight:600;
}

.room_option {
    font-size:14px;
    font-weight:600;
    margin-top: 4px;
    line-height: normal;
}

.dotline {
    width:80%;
}
.or_box .dotline {
    border: 1px dotted #F3A88D;
}
.wr_box .dotline {
    border: 1px dotted #bf7071;
}
.gr_box .dotline {
    border: 1px dotted #88932a;
}
.bl_box .dotline {
    border: 1px dotted #95b7c0;
}
.circle_btn {
    width:45px;
    height: 45px;
    border:1px solid #00437C;
    background-color: inherit;
    position:absolute;
    border-radius: 50px;
    bottom: 11px;
    right: 12px;
    transition: ease 0.2s;
}

.room_box:hover .circle_btn {
    background-color:#00437C;
    transition: ease 0.2s;
}

.room_box .circle_btn::after {
    content:"";
    background:url(../img/planning/icon_arrow.svg);
    background-repeat:no-repeat;
    display: flex;
    width: 10px;
    height: 25px;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    top: 25%;
}
.room_box:hover .circle_btn::after {
    background:url(../img/planning/icon_arrow_white.svg);
    background-repeat:no-repeat;
}

.inner_p {
    margin: 10px 0 66px 0;
    font-size: 18px;
    line-height: 1.34;
    letter-spacing: -1px;
    font-weight:500;
    text-align: center;
}

.title_deco {
    position:absolute;
    top: -15px;
    width: 40%;
}
.title_deco.friendly {
    top: -18px;
    width: 42.4%;
}
.title_deco.useful {
    top: -17px;
    width: 32.3%;
}

.pan_box {
    display:flex;
    align-items:center;
    position:relative;
    background-color:#336996;
}

.pan_inner{
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    justify-content: space-around;
}
.pan_left_box {
    display: flex;
    flex-direction: row;
    color:#FFFFFF;
    max-width: 473px;
    width:100%;
    align-items: center;
}
.pan_right_box {
    display: flex;
    flex-direction: column;
    color:#FFFFFF;
    max-width: 421px;
    width:100%;
    letter-spacing: 0;
    margin-left:34px;
}
.pan_left_box img {
    width:122px;
    height: 100%;
}
.top_box {
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
    border-bottom: 1px dotted #D29B9C;
    position:relative;
    padding-bottom:10px;
}

.top_box .little_h {
    text-align:center;
    font-size:14px;
    margin-top: 0;
    line-height: 2rem;
}
.top_box .headline{
    font-size:49px;
}

.top_box .madori{
    font-size:25px;
}

.btm_box .text{
    font-size:21px;
    letter-spacing: -1px;
}

.btm_box img {
    width:136px;
    height: auto;
}

.btm_box{
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    margin-top:10px;
}
.pan_title {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    margin-left:28px;
}

.btm_p{
    /*--font-size:39px;-*/
    font-size: 36px;
    letter-spacing: -1px;
}
.pan_cap {
    font-size:22px;
    letter-spacing: -1px;
}

.pan_inner .circle_btn {
    bottom: 38%;
    transform: translateX(-50%);
    background-color:#BF7071;
    border:1px solid #FFFFFF;
}

.pan_inner .circle_btn::after {
    content:"";
    background:url(../img/planning/icon_arrow_white.svg);
    background-repeat:no-repeat;
    display: flex;
    width: 10px;
    height: 25px;
    position: relative;
    left: 50%;
    transform: translate(-50%);
    top: 25%;
}
.long_bnr_box {
    min-width: 1100px;
    width: 100%;
    height: 180px;
    display:flex;
    flex-direction:row;
    align-items:center;
    position:relative;
}
.long_left_box {
    background-color:#00437C;
    border:6px solid #40729D;
    border-right:none;
    display:flex;
    flex-direction:column;
    min-width: 258px;
    align-items: center;
    padding: 30px 0px 30px 20px;
} 

.lbox_inner {
    display:flex;
    flex-direction:row;
    align-items: center;
    justify-content: space-between;
}
.lbox_inner img{
    width:45px;
    height: fit-content;
    margin-right:10px;
}
.l_img_cap {
    font-size:14px;
    width: 122px;
    letter-spacing: 0;
}

.long_bnr_title {
    text-align:center;
    font-size:32px;
    line-height:3rem;
    letter-spacing: -2px;
}

.long_right_box {
    background-color:#BF7071;
    border:6px solid #CF9494;
    border-left:none;
    max-width: 100%;
    width: 840px;
} 

.long_bnr_inner{
    display:flex;
    flex-direction:row;
    color:#FFFFFF;
}

@media screen and (max-width: 1200px) {
    .pan_box {
        padding:2% 8% 2% 2%;
        min-width: 100%;
    }
    .pan_left_box img {
        width: 28%;
    }
    .btm_p {
        font-size: 25px;
    }
    .pan_title {
        margin-left: 15px;
        align-items: flex-start;
    }
    .btm_box img {
        width: 22%;
        height: 100%;
    }
    .btm_box .text {
        font-size: 17px;
    }
    .pan_right_box {
        margin-left: 12px;
        width: 75%;
    }
    .top_box .headline {
        font-size: 41px;
    }

    .pan_inner .circle_btn {
        right: -15px;
    }

}
@media screen and (max-width: 1100px) {
    .contents_inner_02 {
        width: 90%;
        align-items: center;
    }
    .contents_inner_02 .a {
        width:90%;
    }

    .pan_cap {
        font-size: 13px;
    }
    
}
@media screen and (max-width: 850px) {

    .top_box .little_h {
        font-size: 8px;
        line-height:1rem;
    }
    .top_box .headline {
        font-size: 29px;
        padding: 0 14px;
    }


    .top_box .madori {
        font-size: 14px;
    }

    .rooms_wrap a {
        width: calc((100% - 40px) / 2);    
    }
}


@media screen and (max-width: 780px) {
	#planning02 {
		padding: 39px 0 40px;
	}
    
    .banner_contener {
        max-width: 340px;
        width: 100%;
        row-gap: 30px;
        margin: 0 auto 60px;
    }

    .rooms_contener {
        width: 100%;
    }

    .rooms_wrap {
        width: 100%;
        display:flex;
        flex-direction:column;
        row-gap:40px;
        margin-bottom: 60px;
    }

    .room_box {
        width: 100%;
        height: auto;
    }
    .room_box:has(.useful) {
        padding-top: 7px;
    }

    .rooms_wrap a {
        width: 100%;
        max-width: 340px;
        margin: 0 auto;
    }

    .rooms_wrap h4 {
        padding-bottom: 7px;
        margin-bottom: 12px;
    }
    .rooms_wrap h4::after {
        width: 150px;
    }
    #rooms_sardegna h4 img {
        width: 214px;
    }
    #rooms_andalucia h4 img {
        width: 238px;
    }
    #rooms_mykonos h4 img {
        width: 197px;
    }
    .rooms_wrap h4 span {
        font-size: 13px;
    }
    .pan_box {
        max-width: 330px;
        height: 100%;
        flex-direction: column;
        padding: 0;
    }
    .pan_inner{
        flex-direction: column;
    }

    .point_p {
        font-size:11px;
        line-height: 2rem;
        height: 60px;
    }

    .point_box {
        min-width:150px;
        width: 45%;
    }

    .title_contener {
        width: 126px;
        height: 72px;
        display: flex;
        align-content: flex-start;
        align-items: flex-start;
        justify-content: center;
        margin-bottom: 11px;
    }

    .pan_left_box img {
        width:65px;
        height: auto;
        padding:0;
    }

    .circle_btn {
        width:30px;
        height:30px;
        bottom:10px;
    }
    .inner_p {
        font-size: 17px;
        margin: 2px 0 38px 0;
    }
    .inner_p.last {
        margin: 2px 0 23px 0;
    }
    .room_box .circle_btn::after {
        width: 7px;
        height: 15px;
    }

    .pan_title {
        margin-left:0;

    }
    .btm_p {
        font-size: 21px;
        margin-top: -10px;
    }
    .pan_cap {
        font-size: 11px;
        letter-spacing: 1px;
    }

    .pan_left_box {
        width:100%;
        padding-top: 13px;
        padding-bottom: 14px;
        background-color:#00437C;
        border:6px solid #40729D;
        border-bottom:none;
        justify-content: center;
    }


    .pan_right_box {
        width:100%;
        margin-left:0;
        align-items: center;
        padding: 0 4% 4% 4%;
        background-color:#BF7071;
        border:6px solid #CF9494;
        border-top:none;
    }

    .btm_box .text {
        font-size: 12px;
        margin-left: 14px;
    }

    .btm_box img {
        width: 81px;
        height: auto;
    }
    .headline {
        font-size: 42px;
    }
    .little_h {
        font-size: 10px;
        margin-top: 24px;
    }
    .madori {
        font-size: 21px;
    }
    .room_option {
        font-size: 13px;
        line-height: 1.8rem;
    }
    .btm_box {
        margin: 6px 0 20px 0;
    }

    .pan_inner .circle_btn {
        bottom: 15px;
        right: 0px;
    }
    .pan_inner .circle_btn::after {
        width: 7px;
        height: 15px;
    }
    .top_box {
        padding-bottom:5px;
        padding-top: 15px;
        align-items: center;
        justify-content: center;
        width: 90%;
    }
    .pan_title {
        margin-left: 14px;
        width: 180px;
        align-items: flex-start;
    }

    .title_img01 {
        width: 126px;
        height: auto;
    }
    .title_img02 {
        width: 123px;
        height: auto;
    }
    .title_img03 {
        width: 123px;
        height: auto;
    }
    .title_img04 {
        width: 94px;
        height: auto;
    }

    .planning01_img_cap p {
        font-size: 8px;
        right: 9px;
    }

    .title_deco {
        top: -17px;
    }
    .title_deco.useful {
        width: 31.4%;
    }
    .title_deco.friendly {
        width: 41.5%;
    }

}

@media screen and (max-width: 500px) {
    .points_contener {
        column-gap:0;
    }
    .point_p {
        height: 80px;
    }

}

@media screen and (max-width: 350px) {
    .point_box {
        min-width: 280px;
    }
    .point_p {
        height: 60px;
    }
}

