/*
.zen-kaku-gothic-antique-black {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.zen-kaku-gothic-antique-bold {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-kaku-gothic-antique-medium {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-antique-regular {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-antique-light {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 300;
  font-style: normal;
}

*/

@charset "UTF-8";
/*--------------------    デフォルトスタイル    --------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    vertical-align:baseline;
    background:transparent;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: "Zen Kaku Gothic Antique", sans-serif;/*-------------------- フォントファミリー--*/
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}
ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    color: #202828;
    vertical-align:baseline;
    background:transparent;
    text-decoration: none;
}
ins {
    text-decoration:none;
}
del {
    text-decoration: line-through;
}
mark {
    background-color:#ff9;
    color:#202828;
    font-weight:bold;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}

/*------------------------------------------------------------
    レイアウト
------------------------------------------------------------*/
body {
    position: relative;
	color: #202828;/*-------------------- デフォルト フォントカラー--*/
	font-weight: 500;/*-------------------- デフォルト フォントウェイト--*/
	font-size: 1.6rem;/*-------------------- デフォルト フォントサイズ--*/
	line-height: 1;/*-------------------- デフォルト 行間--*/
	letter-spacing: 0.15rem;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
section{
	overflow: hidden;
}

@media all and (min-width: 834px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 835px) {
	body {
		min-width: inherit;
		font-size: 1.5rem;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}






/*------------------------------------------------------------
    index
------------------------------------------------------------*/

/* 共通 */
.pTxt {
    font-weight: 400;
	text-align: justify;
  line-height: 2;
}
.bgTxt {
	background: #5aff9a;
}

.flexBox {
	display: flex;
}

.widBox {
  width: 680px;
  margin: 0 auto;
}

.lBtn a {
	display: block;
	border-radius: 50px;
	color: #fff;
	font-size: 1.8rem;
	letter-spacing: 0.5px;
	border: 2px solid #f87901;
	background: #f87901;
	text-align: center;
	padding: 18px 20px 18px 0;
	box-shadow: 0 0 5px rgba(177,177,177,0.7);
	transition: all .2s;
	position: relative;
}
.lBtn a:before {
	position: absolute;
	content: "";
	width: 15px;
	height: 16px;
	background: url("img/icon-arrow.svg")100% no-repeat;
	right: 25px;
	top: 36%;
}
.lBtn a:hover {
	background: #fff;
	color: #f87901;
}
.lBtn a:hover:before {
	background: url("img/icon-arrow-hov.svg")100% no-repeat;
}

.btn-txtBox {
    margin-top: 19px;
    text-align: center;
}
.btn-txtBox .btn-minTxt {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
}


.headline01 {
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.7;
    letter-spacing: 0.2rem;
}

.headline02 {
  width: 100%;
  margin-bottom: 42px;
  padding: 6px 0;
  background: #2a507a;
  color: #fff;
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.3rem;
}

.headline03 {
    display: block;
  width: 100%;
  margin-bottom: 32px;
    padding-bottom: 29px;
  border-bottom: 2px solid #dae1e1;
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1rem;
    line-height: 1.5;
}


@media all and (max-width: 834px) {

	.pTxt {
		line-height: 1.8;
	}

	.flexBox {
		flex-direction: column;
	}


	.lBtn a {
		width: 100%;
		font-size: 1.5rem;
		box-sizing: border-box;
		padding: 15px 10px 15px 0;
        line-height: 1.5;
	}

    .btn-txtBox {
    }
    .btn-txtBox .btn-minTxt {
        text-align: justify;
    }
    .btn-txtBox .btn-minTxt li {
        margin-bottom: 10px;
        text-indent: -1.4rem;
        padding-left: 1.4rem;
    }

    .widBox {
      width: 100%;
    }


    .headline01 {
        font-size: 2.2rem;
    }

    .headline02 {
    width: 116%;
        margin-left: -8%;
      margin-bottom: 22px;
      padding: 12px 0;
      font-size: 2.2rem;
    }

    .headline03 {
      margin-bottom: 30px;
        padding-bottom: 18px;
      font-size: 2.2rem;
    }

}



/* 共通 ここまで */

.align_lp {
}

.top_img {
	position: relative;
}
.top_img .txtImg {
    position: absolute;
    bottom: -4.7%;
    right: 10.1%;
    width: 17.3%;
}

.heldBox {
    padding: 17px 0 21px;
    background: #5EEBFE;
    text-align: center;
}
.heldBox .txt {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.6;
}
.heldBox .txt .big {
    font-size: 3.3rem;
}
.heldBox .txt .big .ttl {
    display: inline-block;
    font-size: 3.1rem;
    margin-bottom: 3px;
}

.sec01 {
    position: relative;
    margin-bottom: 80px;
    padding: 43px 0 172px;
}
.sec01:before {
    position: absolute;
    content: "";
    width: 1px;
    height: 117px;
    background: #202828;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    animation: pathmove 1.4s ease-in-out infinite;
}
@keyframes pathmove{
  0%{
    height: 42px;
    bottom: 72px;
    opacity: 0;
  }
  80%{
    height: 62px;
    opacity: 1;
  }
  100%{
    height: 42px;
      bottom: 32px;
    opacity: 0;
  }
}



.sec01 .lBtn a {
  width: 450px;
  margin: 0 auto;
}
.sec01 .btn-txtBox {
    margin-bottom: 54px;
}
.sec01 .headline01 {
  text-align: center;
}

.sec02 {
    position: relative;
    margin-bottom: 77px;
}
.sec02:before {
    content: "";
    position: absolute;
    top: -50%;
    left: 0;
    width: 100%;
    height: 350%;
    background: url("img/bg01.svg")no-repeat top left;
    background-size: 100%;
    z-index: -1;
}
.sec02 .hlWrap {
    position: relative;
    text-align: center;
}
.sec02 .hlWrap:before {
    position: absolute;
    content: "";
    width: 89%;
    height: 1px;
    background: rgba(196, 196, 196, 0.5);
    right: 0;
    top: 120px;
}
.sec02 .headline01 {
    position: relative;
    display: inline-block;
    margin-bottom: 35px;
    text-align: left;
}
.sec02 .pTxt {
  width: 680px;
  margin: 0 auto 48px;
}
.sec02 .checkBox {
    margin-bottom: 50px;
    text-align: center;
}
.sec02 .checkBox .checkUl {
    display: inline-block;
    text-align: left;
}
.sec02 .checkBox .checkUl li {
    position: relative;
    margin-bottom: 13px;
    padding: 12px 23px 12px 54px;
    background: #d24675;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 0.2rem;
}
.sec02 .checkBox .checkUl li:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 15px;
    width: 27px;
    height: 26px;
    background: url("img/icon-point.svg")no-repeat top left;
    background-size: 100%;
    transform: translateY(-50%);
}
.sec02 .listBox {
    width: 700px;
    margin: 0 auto;
    padding: 50px 0;
    background: rgba(246,246,246,0.8);
    border-radius: 39px;
    text-align: center;
}
.sec02 .listBox .listUl {
    display: inline-block;
    text-align: left;
}
.sec02 .listBox .listUl li {
    margin-bottom: 21px;
    font-weight: 600;
}
.sec02 .listBox .listUl li .big {
    font-size: 2.2rem;
}
.sec02 .listBox .listUl li:last-child {
    margin-bottom: 0;
}


.sec03 {
    margin-bottom: 100px;
}
.sec03 .inBox {
}
.sec03 .flexBox {
    position: relative;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto 68px;
    padding-left: 114px;
}
.sec03 .flexBox .txtBox {
    width: 577px;
    margin-top: 89px;
}
.sec03 .flexBox .txtBox .title {
    margin-bottom: 46px;
    font-size: 1.8rem;
    line-height: 2.2;
}
.sec03 .flexBox .txtBox .title .bg {
    margin: 0 4px;
    padding: 0 5px;
    background: #d24675;
    color: #fff;
}
.sec03 .flexBox .txtBox .pTxt {
}
.sec03 .flexBox .imgBox {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}
.sec03 .flexBox .imgBox .img01 {
    width: 423px;
}
.sec03 .flexBox .imgBox .img02 {
    width: 384px;
}
.sec03 .headline01.bottom {
    text-align: center;
}

.sec04 {
}
.sec04 .pTxt {
    margin-bottom: 46px;
}
.sec04 .listBox {
  margin-bottom: 77px;
  padding: 40px 0 63px;
  background: linear-gradient(135deg, #3980cc, #2f6092, #2a507a);
  border-radius: 39px;
  text-align: center;
}
.sec04 .listBox .listUl {
    display: inline-block;
  text-align: left;
}
.sec04 .listBox .listUl li {
    margin-bottom: 18px;
    padding-left: 1.8rem;
  color: #fff;
  font-size: 1.8rem;
    font-weight: 500;
    text-indent: -1.8rem;
    line-height: 1.8;
    letter-spacing: 0.1rem;
}
.sec04 .listBox .listUl li:last-child {
    margin-bottom: 0;
}
.sec04 .listBox .listUl li .bg {
    margin: 0 4px;
    padding: 0 5px;
    background: #fff;
    color: #2a507a;
    font-weight: 500;
}
.sec04 .listBox .listUl li.ttl {
    margin-bottom: 20px;
}
.sec04 .headline01.bottom {
  margin-bottom: 72px;
  text-align: center;
}

.sec05 {
    position: relative;
  margin-bottom: 72px;
    padding-top: 107px;
}
.sec05:before {
    content: "";
    position: absolute;
    top: -25%;
    left: 0;
    width: 100%;
    height: 350%;
    background: url("img/bg02.svg")no-repeat top left;
    background-size: 100%;
    z-index: -1;
}
.sec05 .headline02 {
}
.sec05 .pTxt {
    margin-bottom: 45px;
}
.sec05 .imgBox {
    width: 120%;
    margin-left: -10%;
    margin-bottom: 45px;
}

.sec06 {
  margin-bottom: 107px;
}
.sec06 .headWrap {
    position: relative;
    max-width: 1200px;
    margin-left: 10%;
    margin-bottom: 40px;
    padding-bottom: 28px;
}
.sec06 .headWrap:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background: #b9b9b9;
}
.sec06 .headline01 {
}
.sec06 .pTxt {
  width: 670px;
  margin: 0 auto 62px;
}
/*
.sec06 .profBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
.sec06 .profBox .profCon {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 455px;
}
.sec06 .profBox .profCon .txtBox {
}
.sec06 .profBox .profCon .txtBox .name {
  font-size: 2.2rem;
}
.sec06 .profBox .profCon .txtBox .conTxt {
  font-size: 1.6rem;
}
.sec06 .profBox .profCon .imgBox {
  width: 159px;
}
*/

.sec06 .proBtn {
    margin-bottom: 67px;
}
.sec06 .proBtn a {
    position: relative;
    display: block;
    width: 374px;
    margin: 0 auto;
    padding: 18px 22px 18px 0;
    background: #2a507a;
    border: 2px solid #2a507a;
    border-radius: 5px;
    color: #fff;
    font-size: 2.2rem;
    text-align: center;
    transition: all .2s;
}
.sec06 .proBtn a:before {
    content: "";
    position: absolute;
    top: 44%;
    right: 30px;
    width: 12px;
    height: 12px;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(-45deg)translateY(-50%);
}
.sec06 .proBtn a:hover {
    background: #fff;
    color: #2a507a;
}
.sec06 .proBtn a:hover:before {
    border-color: #2a507a;
}
.sec06 .pTxt.bottom {
    padding: 40px 108px;
    border-top: 1px solid #b9b9b9;
    border-bottom: 1px solid #b9b9b9;
}

.sec07 {
    margin-bottom: 117px;
    padding: 70px 0 0;
    background: linear-gradient(135deg, #3980cc, #2f6092, #2a507a);
}
.sec07 .inBox {
}
.sec07 .headline02 {
    background: #fff;
    color: #003c5d;
}
.sec07 .pTxt {
    margin-bottom: 58px;
    color: #fff;
}

.sec08 {
    margin-bottom: 110px;
}
.sec08 .inBox {
}
.sec08 .headline02 {
}
.sec08 .pTxt {
    margin-bottom: 63px;
}
.sec08 .lBtn {
}
.sec08 .lBtn a {
    width: 450px;
    margin: 0 auto;
}
.sec08 .lBtn .btn-minTxt {
}

.sec09 {
    margin-bottom: 100px;
}
.sec09 .inBox {
}
.sec09 .pTxt {
    margin-bottom: 52px;
    text-align: center;
}
.sec09 .table {
    margin: 0 auto 40px;
}
.sec09 .table th,
.sec09 .table td {
    padding-bottom: 22px;
    font-size: 1.8rem;
    line-height: 1.7;
}
.sec09 .table th {
    text-align: right;
}
.sec09 .table td {
    position: relative;
    padding-left: 35px;
    text-align: left;
}
.sec09 .table td:before {
    content: "";
    position: absolute;
    top: 15px;
    left: 4px;
    width: 18px;
    height: 2px;
    background: #202828;
}
.sec09 .imgBox {
    width: 847px;
    margin: 0 auto;
}

.sec10 {
    padding: 70px 0;
    background: #d7e4eb;
}
.sec10 .headline03 {
    border-color: #fff;
}
.sec10 .pTxt {
    width: 524px;
    margin: 0 auto;
}

.sec11 {
    padding: 70px 0;
}
.sec11 .imgBox {
    width: 800px;
    margin: 0 auto 50px;
}
.sec11 .imgBox img {
    width: 100%;
}
.sec11 .imgBox .txt {
    margin-top: 10px;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8;
}
.sec11 .pTxt {
    width: 600px;
    margin: 0 auto;
}

.sec12 {
    padding: 70px 0;
    background: #d7e4eb;
}
.sec12 .headline03 {
    border-color: #fff;
}
.sec12 .imgBox {
    width: 700px;
    margin: 0 auto;
}
.sec12 .imgBox .pTxt {
    margin-top: 24px;
    font-size: 1.4rem;
    text-align: center;
}

.sec13 {
    padding: 73px 0 90px;
    background: linear-gradient(135deg, #3980cc, #2f6092, #2a507a);
}
.sec13 .headline02 {
    background: #fff;
    color: #003c5d;
}
.sec13 .pTxt {
    margin-bottom: 53px;
    color: #fff;
}
.sec13 .listBox {
    padding: 33px 0 52px;
    background: #fff;
    border-radius: 29px;
    text-align: center;
}
.sec13 .listBox .ttl {
    margin-bottom: 24px;
    font-size: 3rem;
    color: #003c5d;
}
.sec13 .listBox .table {
    margin: 0 auto;
    border-top: 2px solid #dae1e1;
    border-bottom: 2px solid #dae1e1;
}
.sec13 .listBox .table tr {
}
.sec13 .listBox .table tr th,
.sec13 .listBox .table tr td {
    padding: 12px 8px;
    border-bottom: 1px solid #dae1e1;
    font-weight: 500;
    text-align: left;
    letter-spacing: 0rem;
}
.sec13 .listBox .table tr th {
    padding: 0 8px 0 22px;
}
.sec13 .listBox .table tr th .big {
    font-size: 2.3rem;
}
.sec13 .listBox .table tr td {
}
.sec13 .listBox .table tr td.space {
    padding: 0 20px 0 8px;
}

.sec14 {
    margin-bottom: 104px;
    padding: 68px 0 0;
}
.sec14 .headWrap {
    position: relative;
    max-width: 1200px;
    margin-left: 10%;
    margin-bottom: 40px;
    padding-left: 18px;
    padding-bottom: 28px;
}
.sec14 .headWrap:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background: #b9b9b9;
}
.sec14 .headWrap:after {
    content: "";
    position: absolute;
    bottom: 15px;
    left: 0;
    width: 330px;
    height: 66px;
    background: url("img/icon-prof.svg")no-repeat top left;
    background-size: 100%;
    z-index: -1;
}
.sec14 .headline01 {
}
.sec14 .main-profBox {
}
.sec14 .main-profBox .profWrap {
    padding: 55px 0;
}
.sec14 .main-profBox .profWrap:nth-child(2n) {
    background: #e8f3fa;
}
.sec14 .main-profBox .profCon {
    width: 573px;
    margin: 0 auto;
}
.sec14 .main-profBox .profCon .mainc-p {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 22px;
}
.sec14 .main-profBox .profCon .mainc-p .txtBox {
    width: 374px;
    font-weight: 500;
}
.sec14 .main-profBox .profCon .mainc-p .txtBox .ttl {
    margin-bottom: 8px;
    font-size: 1.6rem;
    line-height: 1.6;
}
.sec14 .main-profBox .profCon .mainc-p .txtBox .name {
    font-size: 3rem;
}
.sec14 .main-profBox .profCon .mainc-p .txtBox .sub-ttl {
    margin-top: 16px;
    font-size: 1.6rem;
    line-height: 2;
}
.sec14 .main-profBox .profCon .mainc-p .imgBox {
    width: 159px;
}
.sec14 .main-profBox .profCon .cont-p {
}
.sec14 .main-profBox .profCon .cont-p .pTxt {
    font-size: 1.4rem;
}

.sec15 {
    margin-bottom: 72px;
}
.sec15 .pTxt {
    margin-bottom: 67px;
}
.sec15 .pailBox {
    display: block;
    width: 878px;
    margin: 0 auto;
    padding: 46px 0 60px;
    background: #e8f3fa;
    border-radius: 38px;
    text-align: center;
}
.sec15 .pailBox .pTxt {
    display: inline-block;
    margin-bottom: 46px;
    text-align: left;
}
.sec15 .pailBox .lBtn a {
    width: 383px;
    margin: 0 auto;
}

.sec16 {
    padding: 64px 0;
    background: #e8f3fa;
}
.sec16 .inBox {
}
.sec16 .txtBox {
    width: 668px;
    margin: 0 auto;
    text-align: center;
}
.sec16 .txtBox .headline01 {
    position: relative;
    display: inline-block;
    margin-bottom: 25px;
}
.sec16 .txtBox .headline01:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: #d24675;
}
.sec16 .txtBox .pTxt {
    margin-bottom: 25px;
    text-align: center;
}
.sec16 .txtBox .pTxt .big {
    font-size: 1.8rem;
    font-weight: 600;
}
.sec16 .txtBox .daysBox {
}
.sec16 .txtBox .daysBox .headline02 {
    margin-bottom: 20px;
}
.sec16 .txtBox .daysBox .txt {
    margin-bottom: 20px;
    font-size: 1.7rem;
}
.sec16 .txtBox .daysBox .daysUl {
    width: 500px;
    margin: 0 auto;
    border-top: 1px solid #000;
    margin-bottom: 34px;
    text-align: center;
}
.sec16 .txtBox .daysBox .daysUl li {
    padding: 20px 0;
    font-size: 2.4rem;
    border-bottom: 1px solid #000;
}
.sec16 .txtBox .daysBox .pTxt {
    margin-bottom: 32px;
}
.sec16 .txtBox .lBtn a {
    width: 360px;
    margin: 0 auto;
}

.sec17 {
    padding: 46px 0 61px;
    background: linear-gradient(135deg, #3980cc, #2f6092, #2a507a);
}
.sec17 .pTxt {
    width: 420px;
    margin: 0 auto 32px;
    color: #fff;
    font-weight: 500;
    text-align: center;
}
.sec17 .lBtn a {
    width: 360px;
    margin: 0 auto;
}

.navTxt {
    margin: 25px 0;
    font-size: 1.2rem;
    text-align: center;
}
.navTxt a:hover {
    opacity: 0.6;
}

.copy {
    margin: 25px 0;
    font-size: 1.2rem;
    text-align: center;
}





@media all and (max-width: 834px) {
    
    .align_lp {
    }

    .top_img .txtImg {
        bottom: 1.3%;
        right: 3.6%;
        width: 34.6%;
    }

    .heldBox {
        padding: 25px 0 26px;
    }
    .heldBox .txt {
        font-size: 1.6rem;
    }
    .heldBox .txt .big {
        font-size: 2.3rem;
    }
    .heldBox .txt .big .ttl {
        font-size: 2.2rem;
        margin-bottom: 3px;
    }

    .sec01 {
        margin-bottom: 0;
        padding: 43px 0 143px;
    }
    .sec01:before {
        position: absolute;
        content: "";
        width: 1px;
        height: 117px;
        background: #202828;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
    }
    .sec01 .inBox {
        width: 90%;
        margin: 0 auto;
    }
    .sec01 .lBtn a {
      width: 100%;
      margin: 0 auto 45px;
    }
    .sec01 .headline01 {
      text-align: center;
    }

    .sec02 {
        margin-bottom: 0;
    }
    .sec02:before {
        top: -15%;
        left: 0;
        width: 100%;
        height: 350%;
        background: url("img/sp-bg01.svg")no-repeat top left;
        background-size: 100%;
        z-index: -1;
    }
    .sec02 .hlWrap {
      text-align: center;
    }
    .sec02 .hlWrap:before {
        width: 93%;
        top: 167px;
    }
    .sec02 .headline01 {
        margin-bottom: 35px;
    }
    .sec02 .pTxt {
      width: 86%;
      margin: 0 auto 37px;
    }
    .sec02 .checkBox {
        width: 86%;
        margin: 0 auto 40px;
    }
    .sec02 .checkBox .checkUl li {
        padding: 10px 14px 10px 49px;
        line-height: 1.6;
    }
    .sec02 .checkBox .checkUl li:before {
        top: 14px;
        left: 13px;
        width: 24px;
        height: 23px;
        transform: translateY(0);
    }
    .sec02 .listBox {
        width: 82%;
        padding: 36px 5%;
        border-radius: 39px;
    }
    .sec02 .listBox .listUl li {
        margin-bottom: 21px;
        padding-left: 1.7rem;
        font-size: 1.6rem;
        text-indent: -1.7rem;
        line-height: 1.5;
    }
    .sec02 .listBox .listUl li .big {
        font-size: 1.9rem;
    }
    .sec02 .listBox .listUl li:last-child {
        margin-bottom: 0;
    }

    .sec03 {
        position: relative;
        margin-bottom: 45px;
    }
    .sec03:before {
        content: "";
        position: absolute;
        top: -15%;
        left: 0;
        width: 100%;
        height: 350%;
        background: url("img/sp-bg01.svg")no-repeat top left;
        background-size: 100%;
        z-index: -1;
    }
    .sec03 .flexBox {
        margin: 0 auto 50px;
        padding-left: 0;
    }
    .sec03 .flexBox .txtBox {
        width: 86%;
        margin: 0 auto;
    }
    .sec03 .flexBox .txtBox .title {
        margin-bottom: 27px;
        font-size: 2rem;
    }
    .sec03 .flexBox .txtBox .title .bg {
        margin: 0 4px;
        padding: 0 5px;
        background: #d24675;
        color: #fff;
    }
    .sec03 .flexBox .txtBox .pTxt {
    }
    .sec03 .flexBox .imgBox {
        position: relative;
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
    }
    .sec03 .flexBox .imgBox .img01 {
        width: 75%;
        margin: -34px -10% 0 auto;
    }
    .sec03 .flexBox .imgBox .img02 {
        width: 86%;
        margin-top: 25px;
    }
    .sec03 .headline01.bottom {
        text-align: center;
    }

    .sec04 {
    }
    .sec04 .inBox {
        width: 86%;
        margin: 0 auto;
    }
    .sec04 .pTxt {
        margin-bottom: 36px;
    }
    .sec04 .listBox {
      margin-bottom: 37px;
      padding: 36px 6% 38px;
      border-radius: 39px;
    }
    .sec04 .listBox .listUl {
        display: inline-block;
      text-align: left;
    }
    .sec04 .listBox .listUl li {
        margin-bottom: 16px;
        padding-left: 1.8rem;
      font-size: 1.8rem;
        font-weight: 500;
        text-indent: -1.8rem;
        line-height: 1.8;
        letter-spacing: 0.1rem;
    }
    .sec04 .listBox .listUl li:last-child {
        margin-bottom: 0;
    }
    .sec04 .listBox .listUl li .bg {
        margin: 0 4px;
        padding: 0 5px;
        background: #fff;
        color: #2a507a;
        font-weight: 500;
    }
    .sec04 .listBox .listUl li.ttl {
        margin-bottom: 20px;
    }
    .sec04 .headline01.bottom {
      margin-bottom: 37px;
    }

    .sec05 {
      margin-bottom: 56px;
        padding-top: 90px;
    }
    .sec05:before {
        content: "";
        position: absolute;
        top: -25%;
        left: 0;
        width: 100%;
        height: 350%;
        background: url("img/bg02.svg")no-repeat top left;
        background-size: 100%;
        z-index: -1;
    }
    .sec05 .inBox {
        width: 86%;
        margin: 0 auto;
    }
    .sec05 .headline02 {
    }
    .sec05 .pTxt {
        margin-bottom: 45px;
    }
    .sec05 .imgBox {
        width: 116%;
        margin-left: -8%;
        margin-bottom: 45px;
    }
    .sec05 .imgBox img {
        max-width: 670px;
        width: 670px;
    }

    .sec06 {
      margin-bottom: 80px;
    }
    .sec06 .headWrap {
        margin-left: 8%;
        margin-bottom: 30px;
        padding-bottom: 28px;
    }
    .sec06 .headWrap:before {
        content: "";
        position: absolute;
        bottom: 0;
        right: 0;
        width: 100%;
        height: 1px;
        background: #b9b9b9;
    }
    .sec06 .headline01 {
    }
    .sec06 .pTxt {
      width: 86%;
      margin: 0 auto 47px;
    }
    .sec06 .proBtn {
        margin-bottom: 67px;
    }
    .sec06 .proBtn a {
        width: 86%;
        padding: 18px 0 41px;
        font-size: 1.8rem;
    }
    .sec06 .proBtn a:before {
        top: auto;
        bottom: 21px;
        right: 50%;
        width: 10px;
        height: 10px;
        transform: rotate(-45deg)translate(0 , 50%);
    }
    .sec06 .pTxt.bottom {
        padding: 30px 3%;
        box-sizing: border-box;
    }

    .sec07 {
        margin-bottom: 57px;
        padding: 45px 0 0;
    }
    .sec07 .inBox {
        width: 86%;
        margin: 0 auto;
    }
    .sec07 .headline02 {
        width: 100%;
        margin: 0 0 16px;
    }
    .sec07 .pTxt {
        margin-top: 25px;
        margin-bottom: 58px;
    }
    .sec07 .imgBox {
        width: 118%;
        margin-left: -9%;
    }

    .sec08 {
        margin-bottom: 55px;
    }
    .sec08 .inBox {
        width: 86%;
        margin: 0 auto;
    }
    .sec08 .headline02 {
    }
    .sec08 .pTxt {
        margin-bottom: 35px;
    }
    .sec08 .lBtn a {
        width: 100%;
        margin: 0 auto;
    }

    .sec09 {
        margin-bottom: 100px;
    }
    .sec09 .inBox {
    }
    .sec09 .pTxt {
        width: 86%;
        margin: 0 auto 52px;
        text-align: justify;
    }
    .sec09 .table {
        width: 86%;
        margin: 0 auto 40px;
    }
    .sec09 .table th,
    .sec09 .table td {
        display: block;
        padding-bottom: 10px;
        font-size: 1.8rem;
    }
    .sec09 .table th {
        text-align: center;
    }
    .sec09 .table td {
        margin-bottom: 20px;
        padding-top: 10px;
        padding-left: 0;
        text-align: center;
    }
    .sec09 .table td:before {
        top: 0;
        left: 0;
        width: 100%;
        height: 2px;
        background: #dae1e1;
    }
    .sec09 .imgBox {
        width: 100%;
        margin: 0 auto;
    }
    .sec09 .imgBox img {
        max-width: 847px;
        width: 847px;
        padding: 0 5%;
    }

    .sec10 {
        padding: 42px 0;
    }
    .sec10 .pTxt {
        width: 86%;
    }

    .sec11 {
        padding: 42px 0;
    }
    .sec11 .imgBox {
        width: 100%;
        margin: 0 auto 38px;
    }
    .sec11 .imgBox img {
        max-width: 800px;
        width: 800px;
        padding: 0 5%;
    }
    .sec11 .imgBox .txt {
        max-width: 700px;
        width: 700px;
        margin-top: 10px;
        padding: 0 5%;
        font-size: 1.4rem;
        font-weight: 400;
        line-height: 1.8;
    }
    .sec11 .pTxt {
        width: 86%;
        margin: 0 auto;
    }

    .sec12 {
        padding: 42px 0 50px;
    }
    .sec12 .imgBox {
        width: 100%;
        margin: 0 auto;
    }
    .sec12 .imgBox img {
        max-width: 700px;
        width: 700px;
        padding: 0 5%;
    }
    .sec12 .imgBox .pTxt {
        max-width: 700px;
        width: 700px;
        margin-top: 24px;
        padding: 0 5%;
        font-size: 1.4rem;
        text-align: left;
    }

    .sec13 {
        padding: 45px 0 49px;
    }
    .sec13 .inBox {
        width: 86%;
        margin: 0 auto;
    }
    .sec13 .headline02 {
        width: 100%;
        margin-left: 0;
    }
    .sec13 .pTxt {
        margin-bottom: 42px;
    }
    .sec13 .listBox {
        padding: 27px 0 40px;
        border-radius: 29px;
    }
    .sec13 .listBox .ttl {
        margin-bottom: 24px;
        font-size: 2.5rem;
    }
    .sec13 .listBox .table {
        margin: 0 7%;
    }
    .sec13 .listBox .table tr th,
    .sec13 .listBox .table tr td {
        padding: 12px 8px;
        letter-spacing: 0rem;
        line-height: 1.5;
    }
    .sec13 .listBox .table tr th {
        padding: 0 8px;
    }
    .sec13 .listBox .table tr th .big {
        font-size: 2.3rem;
    }
    .sec13 .listBox .table tr td {
    }
    .sec13 .listBox .table tr td.space {
        display: none;
    }

    .sec14 {
        margin-bottom: 0;
        padding: 68px 0 0;
    }
    .sec14 .headWrap {
        margin-left: 0;
        margin-bottom: 0;
        padding-left: 0;
        padding-bottom: 28px;
    }
    .sec14 .headWrap:after {
        bottom: 15px;
        left: 50%;
        width: 72%;
        height: 88%;
        transform: translateX(-50%);
    }
    .sec14 .headline01 {
        text-align: center;
    }
    .sec14 .main-profBox {
    }
    .sec14 .main-profBox .profWrap {
        padding: 50px 0;
    }
    .sec14 .main-profBox .profWrap:last-child {
        padding-bottom: 85px;
    }
    .sec14 .main-profBox .profCon {
        width: 86%;
    }
    .sec14 .main-profBox .profCon .mainc-p {
        flex-flow: column;
        justify-content: center;
        align-items: center;
        margin-bottom: 22px;
    }
    .sec14 .main-profBox .profCon .mainc-p .txtBox {
        order: 2;
        width: 100%;
        text-align: center;
    }
    .sec14 .main-profBox .profCon .mainc-p .txtBox .ttl {
        margin-bottom: 8px;
        font-size: 1.6rem;
    }
    .sec14 .main-profBox .profCon .mainc-p .txtBox .name {
        font-size: 2.2rem;
    }
    .sec14 .main-profBox .profCon .mainc-p .txtBox .sub-ttl {
        margin-top: 16px;
        font-size: 1.6rem;
    }
    .sec14 .main-profBox .profCon .mainc-p .imgBox {
        order: 1;
        width: 65%;
        margin-bottom: 25px;
    }
    .sec14 .main-profBox .profCon .cont-p .pTxt {
        font-size: 1.4rem;
    }

    .sec15 {
        margin-bottom: 50px;
    }
    .sec15 .inBox {
        width: 86%;
        margin: 0 auto;
    }
    .sec15 .pTxt {
        margin-bottom: 33px;
    }
    .sec15 .pailBox {
        width: 100%;
        padding: 35px 7% 37px;
        box-sizing: border-box;
    }
    .sec15 .pailBox .pTxt {
        display: inline-block;
        margin-bottom: 29px;
        text-align: left;
    }
    .sec15 .pailBox .lBtn a {
        width: 100%;
    }

    .sec16 {
        padding: 42px 0;
    }
    .sec16 .inBox {
    }
    .sec16 .txtBox {
        width: 100%;
    }
    .sec16 .txtBox .headline01 {
        display: block;
        margin-bottom: 25px;
        padding-bottom: 20px;
    }
    .sec16 .txtBox .headline01:before {
        bottom: 0;
        left: 0;
        width: 100%;
        height: 3px;
        background: #d24675;
    }
    .sec16 .txtBox .pTxt {
        width: 86%;
        margin: 0 auto 54px;
        text-align: justify;
    }
    .sec16 .txtBox .pTxt .big {
        font-size: 1.8rem;
        font-weight: 600;
    }
    .sec16 .txtBox .daysBox {
        width: 86%;
        margin: 0 auto;
    }
    .sec16 .txtBox .daysBox .headline02 {
        width: 100%;
        margin-left: 0;
        margin-bottom: 20px;
    }
    .sec16 .txtBox .daysBox .txt {
        margin-bottom: 20px;
        font-size: 1.7rem;
    }
    .sec16 .txtBox .daysBox .daysUl {
        width: 100%;
        margin: 0 auto;
        border-top: 1px solid #000;
        margin-bottom: 34px;
        text-align: center;
    }
    .sec16 .txtBox .daysBox .daysUl li {
        padding: 20px 0;
        font-size: 2.4rem;
    }
    .sec16 .txtBox .daysBox .pTxt {
        margin-bottom: 32px;
        text-align: justify;
    }
    .sec16 .txtBox .lBtn a {
        width: 100%;
    }

    .sec17 {
        padding: 46px 0 61px;
    }
    .sec17 .pTxt {
        width: 86%;
        margin: 0 auto 32px;
    }
    .sec17 .lBtn a {
        width: 86%;
    }

    .copy {
        margin: 25px 0;
        font-size: 1.2rem;
        text-align: center;
    }

}








/*---------- お問合せ contact */
.contact {
    padding-bottom: 174px;
}
.contact .contBox {
    border-top: 11px solid #2A5079;
    padding: 95px 0 0;
}
.contact .headline04 {
    margin-bottom: 35px;
    text-align: center;
}
.contact .headline04 .en-title {
    font-size: 1.6rem;
    display: block;
    margin-bottom: 11px;
}
.contact .headline04 .ja-title {
}
.contact .contBox .pTxt {
	margin-bottom: 43px;
	font-size: 1.4rem;
	text-align: center;
	line-height: 2.3;
}

.contact .contBox .stepBox {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 78px;
}
.contact .contBox .stepBox .step {
    position: relative;
    text-align: center;
    margin: 0 47px;
}
.contact .contBox .stepBox .step:nth-child(2n):before,
.contact .contBox .stepBox .step:nth-child(2n):after {
    content: "";
    position: absolute;
    top: 30px;
    left: 0;
    width: 58px;
    height: 1px;
    background: #C6C6C6;
}
.contact .contBox .stepBox .step:nth-child(2n):before {
    left: 79px;
}
.contact .contBox .stepBox .step:nth-child(2n):after {
    left: -79px;
}
.contact .contBox .stepBox .step .circle {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 59px;
    height: 59px;
    background: #d7e4eb;
    border-radius: 100px;
    color: #000;
    font-size: 2.1rem;
    font-weight: 500;
}
.contact .contBox .stepBox .step .txt {
    display: block;
    margin-top: 10px;
    color: #d7e4eb;
    font-size: 1.5rem;
    font-weight: 500;
}
.contact .contBox .stepBox .step.active .circle {
    background: #2a507a;
    color: #fff;
}
.contact .contBox .stepBox .step.active .txt {
    color: #2a507a;
}

.contact .contBox .contentWrap {
	width: 709px;
	margin: 0 auto;
}
.contact .contBox .con_form {
	width: 100%;
}
.contact .contBox .con_form tr th,
.contact .contBox .con_form tr td {
	display: block;
	width: 100%;
	text-align: left;
}
.contact .contBox .con_form tr th {
	padding-left: 10px;
	margin-bottom: 14px;
	font-size: 1.5rem;
	font-weight: 500;
}
.contact .contBox .con_form tr th .mast {
	margin-left: 11px;
	padding: 2px 15px;
	border: 1px solid #2a507a;
    color: #2a507a;
	font-size: 1.3rem;
	line-height: 1;
}
.contact .contBox .con_form tr td {
    margin-bottom: 34px;
}
.contact .contBox .con_form tr td input {
	display: block;
	width: 100%;
	height: 58px;
	padding: 10px;
	background: #EFEFEF;
	border: none;
	text-align: left;
	box-sizing: border-box;
}

.contact .contBox .con_form tr td.radio input {
    width: auto;
    display: inline-block;
    height: auto;
    margin: 0 0 6px;
}

.contact .contBox .visually-hidden {
 position: absolute;
 white-space: nowrap;
 border: 0;
 clip: rect(0 0 0 0);
 clip-path: inset(50%);
 overflow: hidden;
 height: 1px;
 width: 1px;
 margin: -1px;
 padding: 0;
}

.contact .contBox .con_form tr td textarea {
	display: block;
	width: 100%;
	height: 105px;
	padding: 10px;
	background: #EFEFEF;
	border: none;
	text-align: left;
	box-sizing: border-box;
}

.contact .contBox .conBtn {
	position: relative;
	margin: 60px auto 0;
	width: 316px;
}
.contact .contBox .conBtn:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 29px;
	width: 41px;
	height: 9px;
	background: url("../img/common/icon-arrow.svg")no-repeat top left;
	background-size: 100%;
	transform: translateY(-50%);
	z-index: -1;
	transition: all .3s;
}
.contact .contBox .conBtn input {
    display: block;
    width: 100%;
    padding: 21px 0;
    background: #f87901;
    border: 1px solid #f87901;
    border-radius: 100px;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: 2px;
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
    color: #fff;
}
.contact .contBox .conBtn input:hover {
    opacity: 0.6;
}
.contact .contBox .conBtn:hover:before {
	right: 25px;
}

/*---------- お問合せ確認 contact check */
.cont-check {
}
.cont-check .contBox .con_form {
    display: block;
    padding: 68px 78px;
    border-top: 1px solid #C6C6C6;
    border-bottom: 1px solid #C6C6C6;
    box-sizing: border-box;
}
.cont-check .contBox .con_form tbody {
    display: block;
    width: 100%;
}
.cont-check .contBox .con_form tr {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.cont-check .contBox .con_form tr th {
    width: 220px;
    padding-left: 0;
}
.cont-check .contBox .con_form tr th .mast {
    display: none;
}
.cont-check .contBox .con_form tr td {
    line-height: 1.6;
}
.contact .contBox .con_form tr.pp {
    display: none;
}
.cont-check .contBox .con_form tr:last-child td {
    margin-bottom: 0;
}


.cont-check .contBox .corrBtn {
	position: relative;
	margin: 36px auto 0;
    text-align: center;
}
.cont-check .contBox .corrBtn input {
	display: block;
    margin: 0 auto;
    background: transparent;
    border: none;
    color: #aaa;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 2px;
    text-decoration: underline;
	cursor: pointer;
}


/*---------- お問合せ完了 contact thanks */
.cont-thanks .lBtn {
	margin-top: 57px;
}
.cont-thanks .lBtn a {
    width: 316px;
	margin: 0 auto;
    padding-right: 0;
}
.cont-thanks .lBtn a:before {
    display: none;
}
.cont-thanks .topBtn {
    margin-top: 50px;
    text-align: center;
}
.cont-thanks .topBtn a {
    display: inline-block;
    text-decoration: underline;
    line-height: 2;
}
.cont-thanks .topBtn a:hover {
    opacity: 0.6;
}

@media all and (max-width: 834px) {


    .contact .contBox .stepBox {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        margin-bottom: 78px;
    }
    .contact .contBox .stepBox .step {
        position: relative;
        text-align: center;
        margin: 0 30px;
    }
    .contact .contBox .stepBox .step:nth-child(2n):before,
    .contact .contBox .stepBox .step:nth-child(2n):after {
        content: "";
        position: absolute;
        top: 30px;
        left: 0;
        width: 30px;
        height: 1px;
        background: #C6C6C6;
    }
    .contact .contBox .stepBox .step:nth-child(2n):before {
        left: 74px;
    }
    .contact .contBox .stepBox .step:nth-child(2n):after {
        left: -44px;
    }
    .contact .contBox .stepBox .step .circle {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 59px;
        height: 59px;
        background: #d7e4eb;
        border-radius: 100px;
        color: #000;
        font-size: 2.1rem;
        font-weight: 500;
    }
    .contact .contBox .stepBox .step .txt {
        display: block;
        margin-top: 10px;
        color: #d7e4eb;
        font-size: 1.5rem;
        font-weight: 500;
    }
    .contact .contBox .stepBox .step.active .circle {
        background: #2a507a;
        color: #fff;
    }
    .contact .contBox .stepBox .step.active .txt {
        color: #2a507a;
    }

	.contact .contBox .pTxt {
		width: 86%;
		margin: 0 auto 57px;
		font-size: 1.4rem;
        text-align: justify;
	}
	.contact .contBox .contentWrap {
		width: 86%;
	}
	.contact .contBox .con_form tr th {
		font-size: 1.4rem;
	}
	.contact .contBox .con_form tr th .mast {
		padding: 2px 13px;
		font-size: 1.2rem;
	}
    .cont-check .contBox .con_form {
        padding: 38px 5%;
    }
    .cont-check .contBox .con_form tr {
        flex-flow: column;
    }
    .cont-check .contBox .con_form tr th {
        display: block;
        width: 100%;
        line-height: 1.6;
    }
    .cont-check .contBox .con_form tr td {
        display: block;
        width: 100%;
        line-height: 1.6;
    }
}


/*----- フェードイン -----*//*  slide-top show をHTMLのクラスにつける */
/* 上からフェードイン */
.slide-top {
	opacity: 0;
	transform: translate(0, -20px);
	transition: all 1s ease-out;
 }

/* 下からフェードイン */
.slide-bottom {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 0.7s ease-out;
 }


 /* 左からフェードイン */
.slide-left {
	opacity: 0;
	transform: translate(-30px, 0);
	transition: all 0.7s ease-out;
 }

/* 右からフェードイン */
.slide-right {
	opacity: 0;
	transform: translate(30px, 0);
	transition: all 0.7s ease-out;
 }






/* end */
