@charset "utf-8";

main {color:#4d4d4d;}

/*759px以下*/
@media screen and (max-width: 759.9px) {
#wrapper {line-height: 1.8;}
.spnone{display:none;}

/* CSS */
#dirPathBlock,
#anchorLinkBlock {
	font-size: 10px;
	margin: 1% 1% 0 1%;
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}

h1 {
	font-size: 12px;
	margin: 0 1%;
}

.inner{
	width: 96%;
	margin: 0 2%;
	box-sizing: border-box;
}

main img {
width: 100%;
height: auto;
}
}

/*760px以上*/
@media screen and (min-width: 760px),print {
/* CSS */
#wrapper {line-height: 1.6;}
#dirPathBlock,
h1,
.iframe_end-content_gadget,
#anchorLinkBlock{
	width: 100%;
	max-width:970px;
	min-width:760px;
	margin: auto;
}

/*panlist&back*/
#dirPathBlock,
#anchorLinkBlock {
	width: 100%;
	margin: 0 auto;
	display: block;
	font-size: 12px;
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}
h1 {
	font-size: 14px;
    width: auto;
    max-width: 970px;
    margin: 0 auto 5px;
}

.inner{
	width: 96%;
	max-width:950px;
	margin: 0 auto;
	display: block;
}
u{text-decoration-color: red;}

/*title*/
img#mainphoto {
	width: 100%;
	max-width:970px;
	margin:0 auto 2%;
	display:block;
}

main img {
width: 100%;
height: auto;
}
}

/*======================================

original setting

======================================*/

.fx {
display: flex;
align-items: flex-start;
flex-wrap: wrap;
justify-content: space-between;
}

.fx_row_2 > * {width:100%;}
.fx_row_3 > * {width:100%;}
.fx_row_4 > * {width:47.36%;}

figure {margin:0;padding:0;}

/*760px以上*/
@media screen and (min-width: 760px),print {
.fx_row_2 > * {width:47.36%;}
.fx_row_3 > * {width:33.33%;}
.fx_row_4 > * {width:25%;}
}

/* \\\\\\\ INTRO \\\\\\\ */

/*759px以下 未使用*/
@media screen and (max-width: 759.9px) {}

.mv {line-height: 0;}
.mv p {
	margin:.5em auto;
	max-width: 950px;
	text-align: right;
	width: 96%;
}

.intro {
background-color: #bdf7f9;
padding: 32px 0 64px;
}
.intro h2 {
max-width: 793px;
width: 96%;
}

.intro .schedule {margin:3em 0 0;}
.intro .intro_point h3,
.intro .schedule h3 {
margin:auto;
width: 220px;
}
.intro .intro_point h3,
.intro .schedule h3 {margin-bottom:1em;}

.schedule .schtb + .schtb {margin-top:32px;}

.schedule .schtb table {
font-size:14px;
width: 100%;
}
.schedule .schtb caption {
font-size:16px;
margin-bottom: 4px;
text-align: center;
}
.schedule .schtb tr {border-bottom:1px solid #bdf7f9;}
.schedule .schtb th,
.schedule .schtb td {
padding: .5em;
text-align: center;
}
.schedule .schtb th {background-color: #24e5eb;}
.schedule .schtb td {background-color: #fff;}
.schedule .schtb td:first-child {background-color: #f2f2f2;}
.schedule .schtb th:not(:last-child),
.schedule .schtb td:not(:last-child) {border-right:1px solid #bdf7f9;}

.schedule .schtb .note {
font-size:14px;
padding:20px 0 0 24px;
text-align: center;
width: 355px;
position: relative;
}
.schedule .schtb .note::before {
background: url(../images/bg_intro_schedule.png) no-repeat;
background-size: contain;
content: '';
display: block;
height: 48px;
width: 355px;
position: absolute;
top:4px;
left: 24px;
}

.schedule .plan_info {
margin:48px auto 0;
max-width: 744px;
width: 96%;
}



/*760px以上*/
@media screen and (min-width: 760px),print {
.mv p {margin:1em auto;}

.intro {padding: 50px 0 88px;}

.intro .intro_point {margin-top:-5em;}
.intro .schedule {margin:6em 0 0;}
.intro .intro_point h3,
.intro .schedule h3 {width: 294px;}
.intro .intro_point h3 {margin:0 0 4em;}
.intro .schedule h3 {margin:0 0 3em;}

.schedule .schtb + .schtb {margin-top:0;}
.schedule .schtb table {font-size:22px;}
.schedule .schtb caption {
font-size:24px;
margin-bottom: 8px;
}

.schedule .schtb .note {
font-size:20px;
padding:25px 0 0 32px;
}
.schedule .schtb .note::before {
height: 56px;
width: 355px;
top:8px;
left: 32px;
}

.schedule .plan_info {margin:88px auto 0;}
}



/* \\\\\\\ POINT \\\\\\\ */
.point .ttl_header {margin-bottom: 24px;}
.point .ttl_header h2 {
margin:auto;
max-width: 950px;
width: 96%;
}

.point_01 {
background-color: #ffeefb;
padding-bottom: 40px;
}
.point_01 .ttl_header {
background: #ffc5f1 url(../images/bg_plan1_ttl.png) no-repeat 25% 0;
background-size: cover;
padding: 24px 0;
}
.point_01 .ttl_header img {max-width:762px;}

.point_02 {
background-color: #fee7c4;
padding-bottom: 40px;
}
.point_02 .ttl_header {
background: #ffc5f1 url(../images/bg_plan2_ttl.png) no-repeat 25% 0;
background-size: cover;
padding: 24px 0;
}
.point_02 .ttl_header img {
display: block;
margin-left:auto;
margin-right: 0;
max-width:640px;
}

.point_03 {
background-color: #d4f8f4;
padding-bottom: 40px;
}
.point_03 .ttl_header {
background: #ffc5f1 url(../images/bg_plan3_ttl.png) no-repeat 25% 0;
background-size: cover;
padding: 24px 0;
}
.point_03 .ttl_header img {max-width:927px;}

.point .headline {
font-size:21px;
font-weight: 700;
margin-bottom: 16px;
text-align: center;
position: relative;
}
.point .headline::before,
.point .headline::after {
 background: url(../images/bg_plan_h3.png) no-repeat;
 background-size: 100%;
 content:'';
 display: inline-block;
	margin: 0 .5em;
 height: 11px;
 width: 20px;
 position: relative;
	top:-.1em;
}

.point .price {
font-size:16px;
margin: 16px auto 32px;
text-align: center;
}
.point .price > em {
color:#f00;
font-size:24px;
font-weight: 700;
margin-left: .5em;
}
.point .price em > span {
color:#4d4d4d;
font-size:18px;
}
.point .price .note {font-size:12px;}

.point .spec dt {
background-color: #4d4d4d;
color:#fff;
font-size:14px;
margin-bottom: 8px;
text-align: center;
width: 5em;
}
.point .spec dd {
font-size:16px;
margin-bottom: 16px;
}

.cv_link {
margin: 40px auto 24px;
position: relative;
z-index:2;
}
.cv_link a.cv_btn {
color:#4d4d4d;
display: block;
font-size:18px;
font-weight: 700;
margin:auto;
max-width: 438px;
padding: 1em .25em;
text-align: center;
width: 90%;
position: relative;
}
.cv_link a.cv_btn::before {
background: url(../images/bg_link_btn.png);
background-size: 15%;
content:'';
display: block;
height:100%;
width: 100%;
position: absolute;
bottom:-.35em;
bottom:-.35em;
z-index: -1;
}


.point_01 .cv_link li + li {margin-top:2em}
.point_01 a.cv_btn { background-color: #ffc5f1;}
.point_01 a.cv_btn span {
display: block;
font-size:14px;
font-weight: 300;
}
.point_01 a.cv_btn:hover {opacity: 1;}

.point_02 a.cv_btn { background-color: #fbb03b;}
.point_02 a.cv_btn:hover {opacity: 1;}

.point_03 a.cv_btn { background-color: #71e7da;}
.point_03 a.cv_btn:hover {opacity: 1;}
.point_03 hr {
background: none;
border:none;
display: block;
height: 3em;
}

.txt_attention {
font-size:12px;
margin-top: 16px;
}
.txt_attention span{
display: block;
text-indent: -1em;
margin-left: 1em;
}

/*760px以上*/
@media screen and (min-width: 760px),print {
.point .ttl_header {margin-bottom: 48px;}

.point_01 {padding-bottom: 80px;}
.point_01 .ttl_header {
background: #ffc5f1 url(../images/bg_plan1_ttl.png) no-repeat 50%;
background-size: cover;
padding: 60px 0;
}

.point_02 {padding-bottom: 80px;}
.point_02 .ttl_header {
background: #ffc5f1 url(../images/bg_plan2_ttl.png) no-repeat 50%;
background-size: cover;
padding: 60px 0;
}

.point_03 {padding-bottom: 80px;}
.point_03 .ttl_header {
background: #ffc5f1 url(../images/bg_plan3_ttl.png) no-repeat 50%;
background-size: cover;
padding: 60px 0;
}

.point .headline {
font-size:30px;
margin-bottom: 24px;
}
.point .headline::before,
.point .headline::after {top:-.2em;}

.point .price {
font-size:22px;
margin: 24px auto 40px;
}
.point .price > em {font-size:36px;}
.point .price em > span {font-size:24px;}
.point .price .note {font-size:20px;}

.point .spec {
display: inline-flex;
align-items: flex-start;
flex-wrap: wrap;
justify-content: space-between;
}
.point .spec dt {
font-size:21px;
margin-bottom: 16px;
}
.point .spec dd {
font-size:24px;
width: calc(100% - 5em);
}

.cv_link {margin: 80px auto 40px;}
.cv_link a.cv_btn {
font-size:26px;
width: 100%;
position: relative;
transition: .5s;
-webkit-transition: .5s;
-moz-transition: .5s;
-ms-transition: .5s;
-o-transition: .5s;
}

.point_01 .cv_link {
display: flex;
align-items: flex-start;
flex-wrap: wrap;
justify-content: space-between;
}
.point_01 .cv_link li {width: 47.36%;}
.point_01 .cv_link li + li {margin-top:0}
.point_01 a.cv_btn { background-color: #ffc5f1;}
.point_01 a.cv_btn span {
display: block;
font-size:21px;
font-weight: 300;
}
.point_01 a.cv_btn:hover {
background-color: #f2a1df;
opacity: 1;
}

.point_02 a.cv_btn { background-color: #fbb03b;}
.point_02 a.cv_btn:hover {
background-color: #f2980c;
opacity: 1;
}

.point_03 a.cv_btn { background-color: #71e7da;}
.point_03 a.cv_btn:hover {
background-color: #05d9c2;
opacity: 1;
}
.point_03 hr {height: 6em;}

.txt_attention {
font-size:16px;
margin-top: 24px;
}
.txt_attention span{
display: block;
text-indent: -1em;
margin-left: 1em;
}
}

/* \\\\\\\ OPTIONAL \\\\\\\ */
.optional_plan {
background-color: #d4f8f4;
padding-bottom: 40px;
}
.optional_plan .inner {
background-color: #fff;
position: relative;
}
.optional_plan .inner::before,
.optional_plan .inner::after {
background: url(../images/bg_optional.png) no-repeat 0;
background-size: cover;
content:'';
display: block;
height:32px;
width: 100%;
position: absolute;
left:0;
}
.optional_plan .inner::before {top:-32px;}
.optional_plan .inner::after {
bottom:-32px;
transform:rotate(180deg) ;
-webkit-transform:rotate(180deg) ;
-moz-transform:rotate(180deg) ;
-ms-transform:rotate(180deg) ;
-o-transform:rotate(180deg) ;
}

.optional_plan__inner {padding:0 16px;}
.optional_plan__inner h2 {
	margin:0 auto 24px;
	max-width:758px;
	width:100%;
}

.plan_item {margin:0 auto 40px;}

.plan_item .ttl_header {
display: flex;
align-items: flex-start;
flex-direction: column-reverse;
justify-content: flex-end;
margin-bottom: 16px;
}
.plan_item .ttl_header p {
background-color: #4d4d4d;
color:#fff;
font-size:14px;
text-align: center;
width: 5em;
}
.plan_item .ttl_header h3 {
font-size:18px;
line-height: 1.4;
width: 100%;
}
.plan_item .plan_item__inner figure {margin-bottom:1em;}
.plan_item .plan_item__inner figcaption {
margin-top:4px;
text-align: right;
}

.plan_item .plan_item__inner .summary .price {
font-size:14px;
line-height: 1.4;
margin: 0 0 16px;
text-align: left;
}
.plan_item .plan_item__inner .summary .price .note {font-size:16px;}

.plan_item .plan_item__inner .optional_spec {
display: inline-flex;
align-items: flex-start;
flex-wrap: wrap;
justify-content: space-between;
}
.plan_item .plan_item__inner .optional_spec dt {
border:1px solid #4d4d4d;
font-size:14px;
margin-bottom: 8px;
text-align: center;
width: 5em;
}
.plan_item .plan_item__inner .optional_spec dd {
	font-size:16px;
	margin-bottom: 16px;
	width: 100%;
}

.plan_item .faq {
background-color: #fcf872;
margin-bottom: 24px;
padding: 14px;
position: relative;
}
.plan_item .faq p {font-size:12px;}
.plan_item .faq em {
display: block;
font-size:14px;
font-weight: 700;
}
.plan_item .faq::before {
 background: #e3e3e3;
 border-color: #fff #fff #f1cb41 #f1cb41;
 content: " ";
 display: block;
 position: absolute;
 right: 0;
 bottom: 0;
 border-width: 0 16px 16px 0;
 border-style: solid;
 width: 0;
 transform: rotate(90deg);
 -webkit-transform: rotate(90deg);
 -moz-transform: rotate(90deg);
 -ms-transform: rotate(90deg);
 -o-transform: rotate(90deg);
}

.optional_plan a.cv_btn { background-color: #71e7da;}
.optional_plan a.cv_btn:hover {opacity: 1;}


/*760px以上*/
@media screen and (min-width: 760px),print {
.optional_plan {padding-bottom: 80px;}

.optional_plan__inner {padding:16px 40px;}

.optional_plan__inner h2 {margin:0 auto 32px;}

.plan_item {margin:0 auto 80px;}

.plan_item .ttl_header {
flex-direction: row-reverse;
margin-bottom: 24px;
}
.plan_item .ttl_header p {
font-size:21px;
line-height: 38px;
margin-right: 12px;
}
.plan_item .ttl_header h3 {
font-size:27px;
width: calc(100% - 5em);
}

.plan_item .plan_item__inner {
display: flex;
justify-content: space-between;
}
.plan_item .plan_item__inner figure {
margin-bottom:0;
width:42.82%;
}
.plan_item .plan_item__inner .summary {width:54.12%;}

.plan_item .plan_item__inner .summary .price {
font-size:20px;
margin: 0 0 24px;
}
.plan_item .plan_item__inner .summary .price .note {font-size:22px;}

.plan_item .plan_item__inner .optional_spec dt {
border:1px solid #4d4d4d;
font-size:20px;
margin-bottom: 16px;
text-align: center;
width: 5em;
}
.plan_item .plan_item__inner .optional_spec dd {
font-size:20px;
margin-bottom: 16px;
width: calc(100% - 5.6em);
}

.plan_item .faq {padding: 16px;}
.plan_item .faq p {font-size:18px;}
.plan_item .faq em {font-size:20px;}
.plan_item .faq::before {border-width: 0 24px 24px 0;}

.optional_plan a.cv_btn:hover {
background-color: #05d9c2;
opacity: 1;
}
}


/* \\\\\\\ SLICK OVER WRITING \\\\\\\ */
.slick-prev,
.slick-next {
background: none;
border-top: 4px solid #fff;
border-right: 4px solid #fff;
display: inline-block;
height: 32px;
width: 32px;
top:calc(50% - 16px);
}

.slick-next {
margin-right: 24px;
transform: rotate(45deg);
}

.slick-prev {
margin-left: 24px;
transform: rotate(-135deg);
}