@charset "utf-8";
.top{
    position: relative;
    margin: 40px 0;
}
.top > div{
    position: absolute;
    top: 5%;
    left: 7%; 
}
.top p{
    font-size: 12px;
    margin: 0 0;
    line-height: 1.76;
}
.top h1{
    margin: 0 0;
    text-align: left;
    font-size: 15px;
    line-height: 1.76;
}
.linkButtons{
    margin: 0 0 50px 0;
}
.linkButtons a{
    display: inline-block;
    box-sizing: border-box;
    background: #000;
    color: #fff;
    text-decoration: none;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    border-radius: 8px;
    padding: 8px 8px;
    width: calc(96% / 2) ;
    margin: 5px 0.5%;
    text-align: center;
    vertical-align: middle;
}
.linkButtons a div{
    display: inline-block;
    box-sizing: border-box;
    text-align: left;
    vertical-align: middle;
}
.linkButtons .text{
    width: 9em;
}
.linkButtons .down{
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 50%;
    color: #000;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
.recommend dt{
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 21px;
    color: #a67c52;
    margin: 2em 0 1em 0;
}
.recommend dd{
    margin: 0 0 0 0;
}
.recommend dd p{
    text-align: center;
}
.pointBox{
    text-align: center;
    position: relative;
}
.pointBox > div{
    position: absolute;
    top: calc(-60px / 2) ;
    left: calc(50% - (60px / 2)) ;
    display: inline-block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    
}
.pointBox p{
    font-size: 14px;
    font-weight: bold;
    margin: 0.5em 0;
}
.pointBox p span{
    font-family: "Gabarito", sans-serif;
    font-size: 30px;
}
.point1 > div{
    background: #7fc3b5;
}
.point3 > div{
    background: #7fc3b5;
}
.movieBox{
    text-align: center;
    margin: 50px 0;
}
.movieBox dt{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: bold;
    margin: 20px 0 ;
}
.movieBox dd{
    margin: 0 0 0 0;
}
.movieBox dd div{
    aspect-ratio: 560 / 315 ;
}
.dummyWhite{
    height: 100px;
}
.lightGreenBlock{
    background: #7fc3b5;
}
.dummyTopMargin{
    height: 60px;
}
h2{
    color: #fff;
}
.width1{
    width: 80%;
    margin: 0 auto;
}
.itemList{
}
.itemList .item{
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    padding: 0 5px;
}
.itemList .item > div{
    padding: 15px 25px 25px 25px;
    border-radius: 130px 130px 33px 33px;
}
.itemList .item:nth-child(odd) > div {
    background: #579b8d;
}
.itemList .item:nth-child(even) > div {
    background:  #fff;
}
.itemList p{
    margin: 0.75em 0 0 0;
    line-height: 1.1;
    text-align: left;
    height: 5.5em;
}
.noticeBox{
    position: relative;
    background: #579b8d;
    box-sizing: border-box;
    border-radius: 18px;
    padding: 8px 8px 0 8px;
}
.noticeBox > div {
    background: #fff;
    border-radius: 8px;
    padding: 10px 10px ;
}
.noticeBox p{
    margin: 0 0;
    text-align: center;
}
.noticeBox .time{
    font-size: 14px;
}
.noticeBox .notice{
    width: auto;
    margin: 0 auto;
}
.dummyLightGreen{
    height: 100px;
    background: #7fc3b5;
}
.itemList2{
}
.itemList2 .item{
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    padding: 0 5px;
}
.itemList2 .item > div{
    padding: 15px 25px 25px 25px;
    border-radius: 130px 130px 33px 33px;
    background: #7fc3b5;
}
.itemList2 dt{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    text-align: center;
}
.itemList2 dd{
    margin: 0 0 0 0;
}
.itemList2 p{
    text-align: left;
    line-height: 1.2;
    margin: 0 0;
}
.itemList3{
    text-align: center;
}
.itemList3 .item{
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    padding: 0 10px;
}
.itemList3 .item > div{
    padding: 10px 5px ;
    border-radius: 15px 15px 9px 9px;
    background: #fff;
}
.itemList3 p{
    text-align: left;
    line-height: 1.2;
    margin: 0.5em 0.75em;
    height: 6em;
}
.beigeBox{
    background: #e8dabf;
    border-radius: 44px 44px 0 0;
    padding: 20px 5%;
    margin: 40px 0;
}
h3{
    margin: 0 0 20px 0;
}
.costTable{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 15px;
    border-collapse: collapse;
    width: 100%;
}
.costTable thead th{
    font-size: 15px;
    color: #fff;
    background: #579b8d;
    border: solid 1px #000;
    white-space: nowrap;
}
.costTable tbody th{
    font-weight: normal;
    border: solid 1px #000;
    background: #fff;
    padding: 0.2em 0.5em;
}
.costTable tbody td{
    border: solid 1px #000;
    background: #fff;
    padding: 0.2em 0.5em;
}
.costTable .cost{
    text-align: right;
}
.costTable tfoot th{
    font-weight: normal;
    border: solid 1px #000;
    background: #f2f2f2;
    padding: 0.2em 0.5em;
}
.costTable tfoot td{
    border: solid 1px #000;
    background: #f2f2f2;
    padding: 0.2em 0.5em;
}
.grayBox{
    background: #e6e6e6;
    border-radius: 44px 44px 0 0;
    padding: 20px 5%;
    margin: 40px 0;
}
.whiteBox{
    padding: 20px 5%;
}
.beigeBox2{
    background: #fff;
    border-radius: 35px;
    padding: 20px 5%;
}
.beigeBox2 ul{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    padding: 0 0 0 1em;
    list-style-type: square;
}
.placeBox {
    text-align: center;
}
.placeBox > div{
    display: inline-block;
    text-align: left;
}
.typeA > div{
	background: #7fc3b5;
}
.bx-wrapper {
	border: none ;
    padding: 40px 0 ;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
    background: none;
}
.slider > div{
    padding: 0 5px;
}
.content ul{
    margin: 0 0;
    padding: 0 0 0 1em;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
}
/* タブレットレイアウト : 481 px ～ 768 px。モバイルレイアウトからスタイルを継承。 */

@media only screen and (min-width: 481px) {
.top > div{
    top: 17%;
    left: 7%;
}
.top p{
    font-size: 21px;
}
.top h1{
    font-size: 30px;
}
.movieBox dt{
    font-size: 25px;
    margin: 20px 0 ;
}
.pointBox > div{
    top: calc(-113px / 2) ;
    left: calc(50% - (113px / 2)) ;
    width: 113px;
    height: 113px;
}
.pointBox p{
    font-size: 21px;
}
.pointBox p span{
    font-size: 58px;
}
.width1{
    width: 45%;
}
.itemList{
    text-align: center;
    margin: 50px 0;
}
.itemList .item{
    display: inline-block;
    box-sizing: border-box;
    width: calc(94% / 3) ;
    vertical-align: top;
    border-radius: 130px 130px 33px 33px;
    margin: 20px 1%;
}
.itemList .item:nth-child(odd) {
    background: #579b8d;
}
.itemList .item:nth-child(even) {
    background:  #fff;
}
.itemList p{
    margin: 0.75em 0 0 0;
    line-height: 1.1;
    text-align: left;
    height: 5.5em;
}
.noticeBox .time{
    font-size: 22px;
}
.noticeBox .notice{
    width: 62%;
}
.itemList2{
    text-align: center;
    margin: 40px 0;
}
.itemList2 .item{
    display: inline-block;
    box-sizing: border-box;
    width: calc(94% / 3) ;
    background: #7fc3b5;
    margin: 1%;
    vertical-align: top;
    border-radius: 130px 130px 33px 33px;
}
.itemList2 dt{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    text-align: center;
}
.itemList2 dd{
    margin: 0 0 0 0;
}
.itemList2 p{
    text-align: left;
    line-height: 1.2;
    margin: 0 0;
}
.itemList3{
    text-align: center;
}
.itemList3 .item{
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    width: calc(92% / 4) ;
    border-radius: 15px 15px 9px 9px;
    padding: 0 5px;
}
.itemList3 p{
    text-align: left;
    line-height: 1.2;
    height: 6em;
}
.costTable{
    font-size: 17px;
}
.costTable thead th{
    font-size: 21px;
}
}

/* デスクトップレイアウト : 769 px ～最大 1232 px。モバイルレイアウトとタブレットレイアウトからスタイルを継承。 */

@media only screen and (min-width: 768px) {
.linkButtons a{
    font-size: 14px;
    border-radius: 8px;
    padding: 8px 8px;
    width: calc(97% / 3) ;
    margin: 5px 0.5%;
}
}
