@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Infant:wght@300&display=swap');
@font-face {
	font-family: 'SourceHanSansJP-Regular';
	src: url('../font/SourceHanSansJP-Regular.woff') format('woff');
}
/* main-visual
------------------------------------------------------ */
.main-visual {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.main-txt {
	width: 90%;
	max-width: 600px;
	margin: 180px auto 0;
	position: relative;
}
h2 {
	color: #1E3C43;
	font-size: 4rem;
	margin-bottom: 20px;
	line-height: 4.4rem;
}
h2:after {
	content: 'M';
	display: inline-block;
	position: absolute;
	left: 0;
	top: -10px;
	color: #F5F5F3;
	font-size: 10rem;
	z-index: -1;
}
h2 span {
	display: block;
	margin-top: 20px;
}
.main-lead {
	font-family: 'SourceHanSansJP-Regular';
	color: #1E3C43;
}
.main-img {
	width: 80%;
	max-width: 700px;
	position: relative;
}
.main-img:after {
	content: '';
	background: #F5F5F3;
	border-bottom-right-radius: 0;
	display: inline-block;
	z-index: -1;
	width: 760px;
	height: 300px;
	position: absolute;
	top: 0;
	right: 0;
	bottom: -40px;
	height: 440px;
}
.calender-area{
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 10px;
    background: #fff;
}
.course h3{
        font-family: 'ShipporiMincho';
}
/*PC Layout
===================================*/
@media all and (min-width: 769px) {
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.main-visual {
	flex-direction: column-reverse;
}
.main-txt {
	margin-top: -160px;
}
.main-img {
	width: 90%;
	margin-left: auto;
}
h2 {
	font-size: 2.2rem;
	letter-spacing: .2rem;
}
h2:after {
	top: 10px;
	font-size: 8rem;
}
h2 span {
	margin-top: 0;
}
.main-img:after {
	height: 220px;
}
}
/* course
------------------------------------------------------ */
.course h3 {
	font-size: 2.8rem;
}
.course h3 span {
	display: inline-block;
	font-size: 2.8rem;
	font-family: 'ShipporiMincho';
	color: #938038;
}
.course h3 div {
	display: inline-block;
	font-size: 2.8rem;
	background: linear-gradient(transparent 60%, #F5F5F3 60%);
	line-height: 3.4rem;
}
.course-lead {
	text-align: center;
}
.course-bg {
	padding: 140px 0 0;
}
.course-flow-item:first-child .course-flow-item-ttl {
	background: #34454A;
	padding: 10px 0;
	position: relative;
	margin-bottom: 20px;
}
.course-flow-item:first-child .course-flow-item-ttl:after {
	content: '';
	display: block;
	position: absolute;
	bottom: -7px;
	right: 0;
	left: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #34454A transparent transparent transparent;
}
.course-flow-item:last-child .course-flow-item-ttl {
	background: #938038;
	padding: 10px 0;
	position: relative;
	margin-bottom: 20px;
}
.course-flow-item:last-child .course-flow-item-ttl:after {
	content: '';
	display: block;
	position: absolute;
	bottom: -7px;
	right: 0;
	left: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: #938038 transparent transparent transparent;
}
.course-flow-item-ttl p {
	text-align: center;
	color: #fff;
}
.course-flow-item:first-child .course-flow-item-txt {
	border: 1px solid #34454A;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	padding: 14px 20px;
	padding-left: 30px;
}
.course-flow-item:first-child .course-flow-item-txt p:first-child {
	background: #34454A;
	color: #fff;
	padding: 6px 4px;
	border-radius: 4px;
	font-size: 1rem;
}
.course-flow-item:first-child .course-flow-item-txt p:last-child {
	text-align: center;
	line-height: 1.8rem;
	margin-left: 16px;
}
.course-flow-item:first-child .course-flow-item-last {
	background: #F5F5F3;
	padding: 20px 0;
}
.course-flow-item:first-child .course-flow-item-last p {
	text-align: center;
}
.course-flow-item:last-child .course-flow-item-txt {
	border: 1px solid #938038;
	margin-bottom: 10px;
	display: flex;
	align-items: center;
	padding: 14px 20px;
}
.course-flow-item:last-child .course-flow-item-txt p:first-child {
	background: #938038;
	color: #fff;
	padding: 6px 4px;
	border-radius: 4px;
	font-size: 1rem;
}
.course-flow-item:last-child .course-flow-item-txt p:last-child {
	text-align: center;
	line-height: 1.8rem;
	margin-left: 16px;
	color: #938038;
}
.course-flow-item:last-child .course-flow-item-last {
	background: #F5F5F3;
	padding: 20px 0;
}
.course-flow-item:last-child .course-flow-item-last p {
	text-align: center;
	color: #938038;
}
.course-bg {
	position: relative;
}
.course-img01 {
	width: 30%;
	max-width: 280px;
	position: absolute;
	right: 0;
}
.course-img02 {
	width: 30%;
	max-width: 280px;
	position: absolute;
	bottom: 100px;
}
.flow-arrow {
	width: 15%;
	margin: 0 auto 10px;
	max-width: 30px;
}
.course-img01:after {
	content: '';
	background: #F5F5F3;
	width: 280px;
	height: 340px;
	display: block;
	position: absolute;
	top: 100px;
	right: 30px;
	z-index: -1;
}
.course-img02:after {
	content: '';
	background: #F5F5F3;
	width: 330px;
	height: 340px;
	display: block;
	position: absolute;
	bottom: -100px;
	left: 0;
	z-index: -1;
}

/*PC Layout
===================================*/
@media all and (min-width: 769px) {
.course-flow-wrap {
	display: flex;
	justify-content: space-between;
	max-width: 500px;
	margin: 50px auto;
}
.course-flow-item {
	width: 48%;
}
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.course-img01, .course-img02 {
	display: none;
}
.course-bg {
	padding-top: 0;
}
.course-flow-item {
	margin-bottom: 40px;
}
.course-flow-item:first-child .course-flow-item-txt p:first-child, .course-flow-item:last-child .course-flow-item-txt p:first-child {
	font-size: 1.4rem;
}
.course-lead {
	margin-bottom: 20px;
}
.course-flow-item-ttl p, .course-flow-item:first-child .course-flow-item-txt p:last-child, .course-flow-item:first-child .course-flow-item-last p, .course-flow-item:last-child .course-flow-item-txt p:last-child, .course-flow-item:last-child .course-flow-item-last p {
	font-size: 1.6rem;
}
.course h3, .course h3 div, .course h3 span {
	font-size: 1.8rem;
}
}
/* point
------------------------------------------------------ */
.point-bg {
	background: url(images/point-bg.jpg) no-repeat;
	background-size: cover;
	padding: 100px 0;
}
.point {
	max-width: 1000px;
}
.point-list-item {
	display: flex;
	align-items: center;
	position: relative;
	margin-bottom: 15px;
	background: #fff;
	padding: 20px 30px;
}
.point-ttl {
	color: #938038;
	font-size: 2.4rem;
}
.point-num {
	position: absolute;
	top: -10px;
	font-family: 'Cormorant Infant', serif;
	font-size: 1.5rem;
}
.point-txt {
	width: 82%;
	font-family: 'SourceHanSansJP-Regular';
	font-size: 1.2rem;
	line-height: 1.8rem;
}
.point-txt span {
	font-size: 1.2rem;
	line-height: 1.8rem;
}
.point-txt span {
	font-family: 'SourceHanSansJP-Regular';
}

/*PC Layout
===================================*/
@media all and (min-width: 769px) {
.point-wrap {
	display: flex;
	justify-content: space-between;
	margin-top: 80px;
}
.point-img {
	width: 33%;
}
.point-list {
	width: 65%;
}
.point-icon {
	width: 8%;
	margin-right: 16px;
}
.point-ttl {
	margin-right: 16px;
	width: 10%;
}
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.point-bg {
	padding: 30px 0;
}
.point-list-item {
	padding: 20px 20px;
}
.point-txt {
	width: 100%;
}
.point-icon {
	width: 8%;
	margin-bottom: 16px;
}
.point-txt {
	line-height: 1.8rem;
}
.point-ttl {
	margin-bottom: 10px;
	width: 20%;
	font-size: 1.8rem;
	text-align: center;
}
.point-img {
	margin-bottom: 30px;
}
}
/* marine
------------------------------------------------------ */
.marine-bg {
	padding: 100px 0 30px;
	background: linear-gradient(90deg, #F5F5F3 0%, #F5F5F3 50%, #fff 50%, #fff 100%);
}
.marine h3 {
	font-size: 1.8rem;
}
.marine h3:before {
	content: '';
	background: url(images/marine-icon01.png) no-repeat;
	background-size: contain;
	width: 30px;
	height: 30px;
	display: block;
	margin: 0 auto 10px;
}
.marine-lead {
	color: #938038;
	text-align: center;
}
.marine-wrap {
	max-width: 800px;
	margin: 30px auto;
	background: #fff;
	padding: 30px 20px;
}
.marine-ttl {
	font-size: 2rem;
	margin-bottom: 16px;
}
.marine-lead:before {
	content: '';
	background: #938038;
	display: block;
	width: 1px;
	height: 30px;
	margin: 0 auto 20px;
}
.marine-price {
	margin-bottom: 10px;
}
.marine-price span, .marine-date {
	font-size: 1.8rem;
}
.marine-price small {
	font-size: .8rem;
}
.marine .btn {
	margin-bottom: 0;
}
.marine{
    margin-bottom: 80px;
}

/*PC Layout
===================================*/
@media all and (min-width: 769px) {
.marine-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.marine-img {
	width: 45%;
}
.marine-content {
	width: 50%;
}
.marine .btn {
	margin-left: 0;
}
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.marine-img {
	margin-bottom: 20px;
}
.marine-bg {
	padding-top: 30px;
}
.marine-ttl {
	font-size: 1.8rem;
}
    .marine h3 {
    font-size: 1.6rem;
}
    .marine-lead{
        font-size: 1.4rem;
    }
}
/* flow
------------------------------------------------------ */
.flow-bg {
	background: linear-gradient(90deg, #F5F5F3 0%, #F5F5F3 50%, #fff 50%, #fff 100%);
	padding: 40px 0 100px;
}
.flow-wrap {
	max-width: 900px;
	margin: 80px auto 30px;
}
.flow-img {
	margin-bottom: 20px;
}
.flow-item-ttl {
	text-align: center;
	font-size: 2rem;
    margin-bottom: 10px;
}
.flow-item-txt {
	font-family: 'SourceHanSansJP-Regular';
	font-size: 1.2rem;
	line-height: 1.8rem;
}
.flow-item {
	background: #fff;
	border: 1px solid #1E3C43;
	padding: 50px 20px 20px;
	position: relative;
}
.flow-day-icon {
	background: #34454A;
	color: #fff;
	text-align: center;
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-radius: 50%;
	position: absolute;
	top: -30px;
	margin: auto;
	right: 0;
	left: 0;
}
.flow .flow-arrow {
	height: 10px;
	margin-top: 140px;
	transform: rotate(-90deg);
}

/*PC Layout
===================================*/
@media all and (min-width: 769px) {
.flow-wrap {
	display: flex;
	justify-content: space-between;
}
.flow-item {
	width: 25%;
}
}

/*SP Layout
===================================*/
@media all and (max-width: 769px) {
.flow-item {
	margin-bottom: 50px;
}
.flow-bg {
	padding-top: 10px;
}
.flow .flow-arrow {
	display: none;
}
    .flow-wrap{
        margin-top: 40px;
    }
}
/* faq
------------------------------------------------------ */
.accordion {
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	max-width: 800px;
	position: relative;
	width: 100%;
	margin-bottom: 60px;
}
.accordion-title {
	color: #1E3C43;
	cursor: pointer;
	padding: 16px 30px;
}
.accordion-content {
	display: none;
	padding: 10px 30px;
	margin-bottom: 10px;
}
/* タイトルの背景色 */
.accordion-item .accordion-title {
	background-color: #F5F5F3;
	margin-top: 10px;
}
/* コンテンツボックスの枠線 */
.accordion-item .accordion-content {
	border-bottom: 2px solid #F5F5F3;
	border-left: 2px solid #F5F5F3;
	border-right: 2px solid #F5F5F3;
}
/* 矢印 */
.accordion-title {
	position: relative;
}
.accordion-title::after {
	border-right: solid 2px #1E3C43;
	border-top: solid 2px #1E3C43;
	content: "";
	display: block;
	height: 8px;
	position: absolute;
	right: 25px;
	top: 38%;
	transform: rotate(135deg);
	transition: transform .3s ease-in-out, top .3s ease-in-out;
	width: 8px;
}
.accordion-title.open::after {
	top: 45%;
	transform: rotate(-45deg);
}
.reserved-btn02 {
	background: #938038;
	border: 1px solid #938038;
}
.reserved-btn02:hover span {
	color: #938038;
}
/*== 背景が流れる（斜め） */
.bgskew.reserved-btn02::before {
	background: #fff;
}
.faq {
	margin-bottom: 100px;
}
.faq-bg {
	padding: 80px 0 0;
}

/*SP Layout
===================================*/
@media all and (max-width: 768px) {
.accordion-item .accordion-title {
	padding-right: 50px;
	line-height: 2rem;
}
.accordion-item .accordion-content p {
	line-height: 2rem;
}
.faq-bg {
	padding: 40px 0 0;
}
    .accordion{
        margin-bottom: 30px;
    }
}
