﻿@charset "utf-8";

html {
	font-size: 62.5%;
	height: 100%;
}

body {
	background: url(../images/bg.jpg) repeat;
	background-size: cover;
	color: #333;
	font-family: "游明朝体", "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-weight: bold;
	line-height: 2.2;
	min-width: 320px;
	height: 100%;
	margin: 0;
}

.detail,
.notes,
.gothic,
small {
	font-family: "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: normal;
}

img {
	display: block;
	border: 0;
	max-width: 100%;
}

a {
	color: #4689bd;
}

a:hover, a:active {
	text-decoration: none;
}

main {
	overflow: hidden;
}

#wrap {
	background: url(../images/bg_inner.jpg) repeat;
	background-size: cover;
	max-width: 960px;
	margin: 33px auto 0;
	padding-bottom: 45px;
	position: relative;
}

section {
	font-size: 2rem;
}

.cont-flex {
	display: flex;
	justify-content: center;
}

.txt-big {
	font-size: 3.3rem;
	line-height: 1.5;
}

.txt-color {
	color: #ff2900;
}

.txt-red {
	color: #cd3434;
}

.notes {
	font-size: 1.3rem;
}

.price {
	line-height: 1.4;
}

.sp-br {
	display: none;
}

h1 img {
	width: 549px;
}

h2 img {
	display: block;
	margin: 0 auto;
}


/* #top-mv */
#top-mv {
	display: flex;
	padding: 0 28px;
	position: relative;
	margin-bottom: 25%;
}

#top-mv div {
	position: absolute;
}

.top-mv-img01 {
	top: -25px;
}

.top-mv-img01 img {
	width: 348px;
}

.top-mv-img02 {
	top: -105px;
	left: 355px;
}

.top-mv-img02 img {
	width: 297px;
}

.top-mv-img03 {
	top: -90px;
	left: 620px;
}

.top-mv-img03 img {
	width: 315px;
	min-width: 315px;
}

/* #cont01 */
#cont01 {
	position: relative;
}

#cont01:after {
	content: "";
	background: url(../images/bg_item01.png) no-repeat;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	right: -90%;
	bottom: -50%;
}

.intro {
	width: 100%;
	margin: 0 auto;
}

.intro p {
	font-size: 2.4rem;
}

.intro-txt01 {
	display: flex;
	justify-content: center;
	margin-bottom: 45px;
}

.intro-txt01 .txt-big {
	display: block;
	font-size: 3.8rem;
	text-align: center;
	margin: 20px 0 -45px;
}

.intro-txt01 .underline {
	background: url(../images/txt_line_s.png) no-repeat 0 100%;
	background-size: contain;
	display: inline-block;
}

.intro-txt02 {
	display: flex;
	justify-content: center;
}

.intro-txt03 {
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}

.intro-txt03 p {
	font-size: 6.5rem;
	text-align: center;
}

.intro-txt03 .underline {
	background: url(../images/txt_line_l.png) no-repeat 0 97%;
	background-size: contain;
	width: 60%;
}

.intro-txt04 {
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}

.txt-circle {
	background: url(../images/txt_circle_img.png) no-repeat 5px 0;
	background-size: 94%;
	display: inline-block;
}

/* #cont02 */
#cont02 {
	margin-bottom: 30px;
	position: relative;
}

#cont02 h2 {
	margin-bottom: 15px;
}

#cont02 p {
	margin-bottom: 20px;
}

#cont02 .txt-big {
	position: relative;
}

#cont02 .txt-big:before {
	content: "";
	background: url(../images/important_bg.png) no-repeat 0 0;
	background-size: 25%;
	width: 100%;
	height: 144%;
	display: block;
	position: absolute;
	left: -166px;
	bottom: 25px;
}

#cont02 .cont-flex-btm {
	display: flex;
	justify-content: flex-start;
}

#cont02 .img-box {
	margin: 45px 0 0 -312px;
}

#cont02 .img-box img {
	position: absolute;
}


/* #cont03 */
#cont03 {
	margin-bottom: 30px;
	position: relative;
}

#cont03 h2 {
	margin-bottom: 15px;
}

#cont03 h2:before {
	content: "";
	background: url(../images/bg_item02.png) no-repeat;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: -13%;
	bottom: 5%;
}

#cont03 .cont-txt {
	width: 65%;
}

#cont03 p {
	margin-bottom: 20px;
}

#cont03 .txt-big {
	position: absolute;
	left: 17%;
	margin-top: 6px;
}

#cont03 .cont-flex-btm {
	display: flex;
	justify-content: flex-start;
	margin-top: 101px;
}

#cont03 .img-box {
	margin-left: -3%;
}

#cont03 .img-box img {
	position: absolute;
}

/* #cont04 */
#cont04 {
	background: url(../images/bg_cont4.png) no-repeat 0 190px;
	background-size: 100%;
	margin-bottom: 30px;
	position: relative;
}

#cont04 h2 {
	margin-bottom: 15px;
}

#cont04 .cont-txt {
	width: 65%;
}

#cont04 p {
	margin-bottom: 20px;
}

#cont04 .txt-bg {
	display: flex;
	justify-content: center;
	align-items: center;
}

#cont04 .txt-bg p {
	background: url(../images/bg_txt_img01.png) no-repeat;
	box-sizing: content-box;
	font-size: 1.6rem;
	line-height: 2.6;
	width: 750px;
	padding: 70px 0 80px 75px;
}

#cont04 .item-bg {
	position: relative;
}

#cont04 .item-bg:after {
	content: "";
	background: url(../images/bg_item03.png) no-repeat;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	right: -95%;
	bottom: -70%;
}

/* #cont05 */
#cont05 {
	margin-bottom: 53px;
}

#cont05 h2 {
	font-size: 5.6rem;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 40px;
	padding-bottom: 20px;
}

#cont05 .cont-flex {
	position: relative;
	margin-bottom: 50px;
}

#cont05 h2.underline {
	background: url(../images/txt_line_l_h2.png) no-repeat 50% 100%;
	background-size: auto;
}

#cont05 .img-box {
	position: absolute;
	left: -4%;
}

#cont05 .img-box.sp {
	display: none;
}

#cont05 .img-box img {
	max-width: 456px;
}

#cont05 .cont-txt {
	font-size: 2.4rem;
	margin: 15px 0 0 36%;
}

#cont05 .conclusion p {
	color: #4688bc;
	font-size: 2.8rem;
	text-align: center;
}

/* #support */
#support {
	font-size: 1.6rem;
	margin-bottom: 38px;
}

#support h2 {
	margin-bottom: 20px;
}

#support h3 {
	position: relative;
	z-index: 1;
}

#support h3 img {
	display: block;
	margin: 0 auto;
}

#support h4 {
	margin-bottom: 8px;
}

#support h4 img {
	display: block;
	margin: 0 auto;
}

#support h4.flow {
	margin-bottom: 16px;
}

#support .cont-inner {
	padding: 0 45px;
	position: relative;
}

#support .frame {
	border: 2px solid #4688bc;
	box-sizing: border-box;
	margin-top: -39px;
	padding: 60px 60px 32px;
}

#support .cont-inner {
	padding: 0 45px;
}

#support .cont-txt {
	margin-bottom: 53px;
}

#support .txt-color {
	color: #4688bc;
	font-size: 2.2rem;
}

#support .support-flow {
	list-style: none;
}

#support .support-flow li {
	margin-bottom: 24px;
	position: relative;
}

#support .support-flow li.arw:after {
	content: "";
	background: url(../images/flow_arw.png) no-repeat 50% 0;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
}

#support .support-flow li img {
	display: block;
	margin: 0 auto 3px;
}

#support .mb32 {
	margin-bottom: 32px;
}

#support .mb23 {
	margin-bottom: 23px;
}

#support .detail dl {
	display: flex;
	align-items: center;
	border-top: 2px solid #4688bc;
	padding: 5% 35px 5% 0;
}

#support .detail dl dt {
	color: #4688bc;
	font-size: 2rem;
	width: 25%;
	margin-right: 53px;
}

#support .detail dl dd {
	font-size: 1.6rem;
}

#support .detail .support-price {
	line-height: 1.4;
}

/* #mq */
#mq {
	font-size: 1.6rem;
	margin-bottom: 40px;
}

#mq h2 {
	margin-bottom: 20px;
}

#mq h3 {
	margin: 0 0 33px;
}

#mq h3 img {
	margin-bottom: 0;
}

#mq .frame {
	border: 2px solid #bd7a46;
	box-sizing: border-box;
	padding: 35px 60px 32px;
}

#mq .cont-inner {
	padding: 0 45px;
}

#mq .cont-txt {
	margin-bottom: 53px;
}

#mq img {
	display: block;
	margin: 0 auto 30px;
}

#mq .mb10 {
	margin-bottom: 10px;
}

#mq .detail dl {
	display: flex;
	align-items: center;
	border-top: 2px solid #bd7a46;
	padding: 5% 35px 5% 0;
}

#mq .detail dl dt {
	color: #bd7a46;
	font-size: 2rem;
	width: 25%;
	margin-right: 53px;
}

#mq .detail dl dd {
	font-size: 1.6rem;
}

#mq .day-all {
	background-color: #f2e4da;
	margin-right: 23px;
	padding: 6px 53px;
}

#mq .day {
	line-height: 2;
}

/* #commu */
#commu {
	font-size: 1.6rem;
	margin-bottom: 40px;
}

#commu h2 {
	margin-bottom: 20px;
}

#commu h3 {
	margin: 0 0 33px;
}

#commu h3 img {
	margin-bottom: 0;
}

#commu .frame {
	border: 2px solid #bd7a46;
	box-sizing: border-box;
	padding: 35px 60px 32px;
}

#commu .cont-inner {
	padding: 0 45px;
}

#commu .cont-txt {
	margin-bottom: 53px;
}

#commu img {
	display: block;
	margin: 0 auto 30px;
}

#commu p {
	margin-bottom: 25px;
}

#commu .txt-color {
	color: #bd7a46;
	font-size: 2.2rem;
	line-height: 1.8;
}

#commu .detail dl {
	display: flex;
	align-items: center;
	border-top: 2px solid #bd7a46;
	padding: 5% 14px 5% 0;
}

#commu .detail dl dt {
	color: #bd7a46;
	font-size: 2rem;
	width: 25%;
	margin-right: 53px;
}

#commu .detail dl dd {
	font-size: 1.6rem;
}

#commu .block {
	display: block !important;
	border-top: none !important;
	padding: 0 !important;
}

#commu .detail .inner-dl {
	display: block;
	border-top: none;
	margin-top: 20px;
	padding: 0;
}

#commu .detail .inner-dl dt {
	width: 100%;
}

#commu .detail .inner-dl dd {
	display: flex !important;
	margin-bottom: 5px;
}

#commu .detail .inner-dl p {
	margin-bottom: 0;
}

#commu .detail .time {
	width: 69%;
}

/* #info */
#info .frame {
	background-color: #ecf3f9;
	border: 2px solid #4689bd;
	box-sizing: border-box;
	margin: 0 45px;
}

#info h2 {
	background-color: #4689bd;
	color: #fff;
	text-align: center;
	font-size: 4.2rem;
	font-weight: bold;
}

#info .info-left,
#info .info-right {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 2px solid #4689bd;
	box-sizing: border-box;
	text-align: center;
	width: 50%;
	line-height: 1.6;
	padding: 15px 0;
}

#info .info-left {
	border-left: none;
}

#info .info-right {
	border-left: none;
	border-right: none;
}

#info .info-left dt,
#info .info-right dt {
	font-size: 2.4rem;
}

#info .info-left dd,
#info .info-right dd {
	font-size: 1.6rem;
}

#info .cont-inner {
	margin: 48px 0 45px;
	padding: 0 93px;
}

#info .cont-flex {
	justify-content: left;
	margin-bottom: 35px;
}

#info .representative-img {
	margin: 0 25px 0 0;
}

#info .representative-txt {
	display: flex;
	align-items: center;
	line-height: 1.3;
	font-weight: bold;
}

#info .representative-txt .job {
	display: block;
	font-size: 1.6rem;
	margin: 25px 0 -25px;
}

#info .representative-txt .name {
	font-size: 3.2rem;
}

#info .cont-txt {
	font-size: 1.6rem;
}

#info .cont-txt p {
	margin-bottom: 15px;
}

#info .cont-txt p:last-child {
	margin-bottom: 0;
}

#info .contact {
	font-weight: bold;
}

/* footer */
footer {
	height: 33px;
	text-align: center;
	line-height: 33px;
}

small {
	font-size: 1.3rem;
}

/* トップへ戻る */
#pagetop {
	position: fixed;
	bottom: 20px;
	right: 66px;
	z-index: 10;
}
#pagetop a {
	display: block;
	border-radius: 5px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	width: 50px;
	height: 50px;
}

#pagetop a:hover {
	text-decoration: none;
}

#pagetop-sp {
	display: none;
}


/* レスポンシブ */
@media screen and (max-width: 800px) {
body {
	background: none;
	line-height: 2;
}

#wrap {
	margin-top: 0;
	padding-bottom: 0;
}

section p {
	font-size: 1.2rem !important;
}

.pc-br {
	display: none;
}

.sp-br {
	display: block;
}

h1 img {
	width: 100%;
	max-width: 661px;
}

#top-mv {
	display: block;
	margin: -8% 0 20%;
	padding: 0 25px;
}

#top-mv div {
	position: static;
}

.top-mv-img01 img, .top-mv-img02 img, .top-mv-img03 img {
	width: 100%;
}

.top-mv-img01 img {
	max-width: 533px;
}

.top-mv-img02 img {
	max-width: 456px;
}

.top-mv-img03 img {
	max-width: 481px;
}

.top-mv-img02 {
	margin: 0;
}

.top-mv-img03 {
	margin: 0;
}

.top-mv-img03 img {
	margin: -18% 0 0 6%;
}

#cont01 {
	padding: 0 30px;
}

#cont01:after {
	content: "";
	right: -85%;
	bottom: -39%;
}

.intro-txt01 {
	margin-bottom: 20px;
}

.intro-txt01 .txt-big {
	font-size: 2.1rem;
	margin: 0;
}

.intro-txt03 .underline {
	background-position: 50% 97%;
	font-size: 3.2rem !important;
	width: auto;
}

.intro-txt03 {
	margin: 10px 0 40px;
}

h2 img {
	display: block;
	margin: 0 auto 0 -2%;
	max-width: 105%;
}

#cont02 h2 {
	margin-bottom: 0;
}

#cont02 .cont-flex {
	padding: 0 30px;
}

#cont02 p {
	margin-bottom: 20px;
}

#cont02 .txt-big {
	font-size: 1.65rem !important;
	margin-bottom: 20px;
}

#cont02 .txt-big:before {
	content: "";
	background: url(../images/important_bg_sp.png) no-repeat 100% 0;
	background-size: 40vw;
	width: 100%;
	height: 131%;
	display: block;
	position: absolute;
	left: 7%;
	bottom: -20%;
}

#cont02 .cont-flex-btm {
	position: relative;
}

#cont02 .img-box {
	width: 50vw;
	margin: 0;
	position: absolute;
	right: -12%;
	bottom: 83%;
}

#cont03 h2:before {
	display: none;
}

#cont03 .cont-flex {
	padding: 0 30px;
}

#cont03 .cont-txt {
	width: 100%;
}

#cont03 .txt-big {
	font-size: 1.65rem !important;
	width: 100%;
	margin: 6px 0 -10px;
	position: relative;
	left: auto;
}

#cont03 .txt-big:before {
	content: "";
	background: url(../images/important_bg_sp.png) no-repeat 100% 0;
	background-size: 30vw;
	width: 100%;
	height: 131%;
	display: block;
	position: absolute;
	left: 14%;
	bottom: 10%;
}

#cont03 .cont-flex-btm {
	display: block;
	margin-top: 30px;
}

#cont03 .img-box {
	margin: 0 auto;
}

#cont03 .img-box img {
	position: static;
	margin: 0 auto;
}

#cont04 .cont-txt {
	width: 100%;
}

#cont04 .cont-flex {
	display: block;
	padding: 0 30px;
}

#cont04 {
	background-position-y: 45%;
}

#cont04 .item-bg {
	background: url(../images/bg_txt_img01.png) no-repeat 20% 0;
	background-size: cover;
	padding: 0;
}

#cont04 .txt-bg p {
	background: none;
	font-size: 1.6rem;
	line-height: 2;
	width: 100%;
	margin: 50px 0 0;
	padding: 5%;
}

#cont04 .item-bg:after {
	content: "";
	right: -80%;
	bottom: 8%;
}

#cont05 h2.underline {
	background-size: 91%;
	font-size: 2.7rem;
	padding: 0 3% 4%;
}

#cont05 .cont-flex {
	display: block;
	padding: 0 30px;
}

#cont05 .cont-txt {
	margin: 0;
}

#cont05 .img-box.pc {
	display: none;
}

#cont05 .img-box.sp {
	display: block;
	margin-top: 15px;
	position: static;
	left: auto;
}

#cont05 .img-box img {
	max-width: 100%;
	margin: 0 auto;
}

#cont05 .conclusion p {
	font-size: 1.6rem !important;
	padding: 0 2%;
}

#support h2 img {
	margin: 0 auto;
	max-width: 100%;
}

#support .cont-inner {
	padding: 0 12px;
}

#support h3 {
	background-size: contain;
	font-size: 5vw;
	width: 96%;
	margin: 0 auto;
}

#support .frame {
	border: 4px solid #4688bc;
	margin-top: -7%;
	padding: 40px 30px;
}

#support h4 {
	margin-bottom: 25px;
}

#support h4.flow {
	margin-bottom: 25px;
}

#support .detail dl {
	display: block;
	padding: 2% 0 5%;
}

#support .detail dl dt {
	font-size: 1.2rem;
	text-align: center;
	width: 100%;
	margin-right: 0;
}

#support .detail dl dd {
	font-size: 1.2rem;
	text-align: center;
}

#support .price dd .notes {
	display: flex;
	text-align: left;
	line-height: 1.6;
}

.font11 {
	font-size: 1.1rem !important;
}

.notes {
	font-size: 1rem !important;
}

.price {
	line-height: inherit;
	padding-bottom: 0 !important;
}

#mq .cont-inner {
	padding: 0 12px;
}

#mq h3 {
	background-size: contain;
	font-size: 5vw;
	width: 95.6%;
	margin: 0 auto 30px;
}

#mq .frame {
	border: 4px solid #bd7a46;
	padding: 25px 0 33px;
}

#mq .cont-txt {
	margin-bottom: 27px;
	padding: 0 26px;
}

#mq img {
	display: block;
	margin: 0 auto 19px;
}

#mq .detail dl {
	display: block;
	margin: 0 25px;
	padding: 2% 0 6%;
}

#mq .detail dl dt {
	font-size: 1.2rem;
	text-align: center;
	width: 100%;
	margin: 0 0 14px 0;
}

#mq .detail dl dd {
	display: flex;
	justify-content: center;
	font-size: 1.1rem;
	text-align: left;
}

#mq .day-all {
	font-size: 1.2rem !important;
	margin-right: 0;
	padding: 0;
}

#mq .day {
	margin-top: 5px;
}

#mq .price dd {
	text-align: center !important;
}

#commu .cont-inner {
	padding: 0 12px;
}

#commu h3 {
	background-size: contain;
	font-size: 5vw;
	width: 95.6%;
	margin: 0 auto 30px;
}

#commu .frame {
	border: 4px solid #bd7a46;
	padding: 25px 0 33px;
}

#commu .cont-txt {
	margin-bottom: 39px;
	padding: 0 26px;
}

#commu img {
	display: block;
	margin: 0 auto 19px;
}

#commu .txt-color {
	font-size: 1.3rem !important;
}

#commu .detail dl {
	display: block;
	margin: 0 25px;
	padding: 1% 0 6%;
}

#commu .detail dl dt {
	font-size: 1.2rem;
	text-align: center;
	width: 100%;
	margin: 0 0 14px 0;
}

#commu .detail dl dd {
	display: block;
	font-size: 2.2rem;
}

#commu .detail .inner-dl {
	margin: 0;
}

#commu .detail .inner-dl dt {
	text-align: left;
	margin: 10px 0;
}

#commu .detail .inner-dl dd {
	display: flex !important;
	margin-bottom: 5px;
}

#commu .detail .inner-dl p {
	margin-bottom: 0;
	line-height: 1.6;
}

#commu .detail .time {
	width: 100%;
}

#commu .detail .center-dl dd {
	display: flex;
	justify-content: center;
}

#commu .price dd {
	text-align: center !important;
	line-height: 40px;
}

#info h2 {
	font-size: 2.4rem;
}

#info .frame {
	margin: 0;
}

#info .cont-flex {
	display: block;
	margin-bottom: 15px;
}

#info .info-left dt,
#info .info-right dt {
	font-size: 1.8rem;
}

#info .info-left dd,
#info .info-right dd {
	font-size: 1.2rem;
}

#info .info-left {
	width: 100%;
	border-right: none;
}

#info .info-right {
	border-top: none;
	width: 100%;
}

#info .cont-inner {
	margin: 0;
	padding: 0 30px 40px;
}

#info .representative-img {
	margin: 0 auto 15px;
}

#info .representative-img img {
	margin: 0 auto;
}

#info .representative-txt {
	display: flex;
	justify-content: center;
	align-items: normal;
	text-align: center;
}

#info .representative-txt .job {
	font-size: 1.1rem;
	margin: 10px 0 -10px;
}

#info .representative-txt .name {
	font-size: 2rem;
}

#info .cont-txt p {
	font-size: 1.1rem !important;
}

#pagetop {
	display: none;
}

#pagetop-sp {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 50px 0;
}

#pagetop-sp img {
	margin: 0 auto;
}
}

@media screen and (max-width: 320px) {
.top-mv-img03 img {
	margin-left: -5%;
}
#cont02 .img-box {
	right: -15%;
}
}

@media screen and (min-width: 414px) {
#cont03 .txt-big:before {
	content: "";
	background-size: 35vw;
	height: 154%;
	left: 7%;
	bottom: -10%;
}
}

@media screen and (min-width: 420px) and (max-width: 800px) {
#cont02 .txt-big:before {
	width: 340px;
	left: 55%;
}
#cont02 .img-box {
	width: 230px;
	right: -52%;
}
#cont03 .txt-big:before {
	width: 340px;
	left: 55%;
}
}

@media screen and (max-width: 414px) {
.intro-txt01,
.intro-txt02,
.intro-txt03,
.intro-txt04 {
    display: block;
}
}