@charset "utf-8";
/* CSS Document */

/*------------
共通
------------*/

body{
	font-family:  '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	color:#333;
}
.noto{
	font-family: 'Noto Sans Japanese','游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic','Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-weight: 900;
}
img{
	max-width:100%;
	vertical-align: bottom;
}
#cont01 img{
  vertical-align: middle;
}
a{
  color: inherit;
  text-decoration: none;
}
.wrap{
	max-width:1000px;
	margin:0 auto;
	box-sizing: border-box;
}
.fl{
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}
.opti{
	-moz-font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
	letter-spacing: 1px;
}
/*a.btn,
.totop{
	filter: brightness(100%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
a.btn:hover,
.totop:hover{
	filter: brightness(110%);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}*/
.btn{
	color:#fff;
	padding:1em 2em;
	display: inline-block;
	text-align:center;
	position:relative;
}
.btn:after{
	content: '';
	width: 12px;
	height: 12px;
	border: 0px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 1em;
	margin-top: -6px;
}
.btn1{
	background:#4d85aa;
}
.btn2{
	background:#4da5aa;
}
.btn3{
	background:#e97781;
}
.totop{
    position: fixed;
    top: auto;
    bottom: 30px;
    right: 10px;
	width: 60px;
}
a[href^="tel:"] {
    pointer-events: none;
}
h3{
	font-size:36px;
	text-align:center;
	font-weight:bold;
	line-height:1.3;
}

header{
	text-align:left;
	padding: 20px 0;
}

/*------------
mv
------------*/

/*#mv{
	background:url(../img/mv_bg.jpg) no-repeat center center;
	padding-bottom: 50px;
}*/
#mv {
    background-image: url(../img/mv_bg.jpg) ,linear-gradient(#ffffff, #f4f5f7);
    padding-bottom: 50px;
    background-repeat: no-repeat;
    background-position: center;
}
#mv h2{
	justify-content: flex-start;
	padding:50px 0 30px;
}
#mv h2 p{
	padding-left:20px;
}
#mv h2 span {
    font-size: 18px;
    display: block;
	font-weight: bold;
}
#mv h2 strong {
    font-size: 36px;
    line-height: 1.2;
	font-weight: bold;
}
.hukidashi {
	position: relative;
	display: inline-block;
	padding: 10px 15px;
	min-width: 120px;
	max-width: 100%;
	background: #fffa7c;
}
.hukidashi:before {
	content: "";
	position: absolute;
	top: 100%;
	/*left: 50%;
	margin-left: -15px;*/
	border: 20px solid transparent;
	border-top: 20px solid #fffa7c;
	left:5%;
}
.hukidashi p {
	font-weight: bold;
	font-size: 18px;
}
.copy {
    font-size: 72px;
    font-weight: bold;
	position:relative;
}
.copy span.red{
    font-size: 245px;
    color: #e60012;
	line-height: 1;
	font-family:'Century Gothic',Arial, Helvetica, sans-serif;
}
.copy span.per{
	position:absolute;
	font-size:115px;
}
.line:before,
.line:after{
	content:"";
	display:inline-block;
	background:url(../img/line_y.png) no-repeat left center / contain;
	width:32px;
	height:52px;
	vertical-align: middle;
	margin-right: 10px;
}
.line:after{
	margin: 0 0 0 10px;
	transform: scale(-1, 1);
}

/*------------
cont01
------------*/
#cont01 {
    background: linear-gradient(90deg,#5ea8cd,#2874bb);
    color: #fff;
	text-align:center;
	padding:30px 0 40px;
}
#cont01 h3{
	margin-bottom:20px;
}
#cont01 strong.line {
    font-size: 24px;
    font-weight: bold;
	margin-bottom: 20px;
	display: block;
}
#cont01 h3 span{
	color:#fff600;
}
#cont01 p a{
	text-decoration:underline;
}
#cont01 .wrap div {
    background: #dae9f3;
    color: #333;
    display: inline-block;
    padding: 20px 25px;
	margin-top: 20px;
}
#cont01 .wrap div span{
	font-size:18px;
	font-weight:bold;
	color:#005aae;
	display: inline-block;
	margin-bottom: 5px;
}

/*------------
cont02
------------*/
#cont02{
	padding:70px 0;
	text-align: center;
}
#cont02 h3 {
    font-size: 30px;
    color: #005db4;
    margin-bottom: 50px;
}
#cont02 div.fl {
    justify-content: space-between;
	align-items: stretch;
}
#cont02 ul.fl {
    justify-content: space-around;
}
#cont02 .hukidashi{
	text-align:center;
	padding: 20px;
  margin:0 40px;
}
.hukidashi.h_l {
    background: #d4f0fa;
	flex-grow: 2;
	margin:0 40px;
}
.hukidashi.h_l:before{
	border-top: 20px solid #d4f0fa;
	left:18%;
}
.hukidashi.h_l:after{
	content: "";
	position: absolute;
	top: 100%;
	border: 20px solid transparent;
	border-top: 20px solid #d4f0fa;
	right:18%;
}
.hukidashi.h_r {
    background: #f5f59f;
	flex-grow: 1;
}
.hukidashi.h_r:before{
	border-top: 20px solid #f5f59f;
	left: 50%;
	margin-left: -20px;
}
#cont02 ul {
    margin: 50px auto 30px;
    align-items: stretch;
    text-align: center;
}
#cont02 li p strong {
    font-weight: bold;
    display: block;
    font-size: 18px;
	margin: 30px auto 0;
}
#cont02 li p span {
   color: #1f3e89;
}
#cont02 .btn{
	font-size:24px;
	line-height: 1.3;
	margin-top: 20px;
	font-weight: bold;
}
#cont02 .btn span {
    font-size: 18px;
    display: block;
}
#cont02 .hukidashi.h_l {
	/*display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	-ms-align-items: center;
	align-items: center;*/
	line-height:3;
}


/*------------
cont03
------------*/

#cont03{
	background:#edf2f7;
	padding:50px 0;
}
#cont03 h3{
	font-size:30px;
	color:#005db4;
}
#cont03 h3 p {
    display: inline-block;
}
#cont03 .line::before,
#cont03 .line::after {
    background: url(../img/line_b.png) no-repeat left center / contain;
    vertical-align: baseline;
}
#cont03 li{
	padding: 20px 0 20px 110px;
}
#cont03 li p{
	font-size:24px;
	line-height: 2;
}
#cont03 li p span{
	color:#005db4;
	font-weight:bold;
}
#cont03 li small{
	font-size:14px;
	display:block;
}
#cont03 li:first-child{
	background:url(../img/point1.png) no-repeat left center;
}
#cont03 li:nth-child(2){
	background:url(../img/point2.png) no-repeat left center;
}
#cont03 li:nth-child(3){
	background:url(../img/point3.png) no-repeat left center;
}
#cont03 li:nth-child(4){
	background:url(../img/point4.png) no-repeat left center;
}

/*------------
cont04
------------*/

#cont04{
	padding:60px 0 100px;
}
#cont04 h3{
	color: #005db4;
}
#cont04 .line::before,
#cont04 .line::after {
    background: url(../img/line_b.png) no-repeat left center / contain;
}

#cont04 .table_wrap{
	margin-bottom:50px;
}
#cont04  tr:first-child .p_name{
  color: #000;
}
#cont04 table {
    text-align: center;
	margin:60px auto 0;
	line-height: 1.8;
	/*border-collapse: collapse;*/
}
#cont04 td a{
  text-decoration: underline;
}
#cont04 th,
#cont04 td{
	padding:20px;
}
#cont04 tr:nth-child(4) td:last-child{
  background-color: #fff5f6;
}
#cont04 tr:not(:last-child) {
    border-bottom: solid 2px #eeeeee;
}
#cont04 th strong {
    display: block;
    font-weight: bold;
}
#cont04 th strong small {
    font-size: 12px;
}
#cont04 strong {
    font-weight: bold;
}
#cont04 tr:first-child th{
	color:#fff;
	border-radius: 10px 10px 0 0;
}
#cont04 tr:first-child th:nth-child(2) {
    background: #4d85aa;
}
#cont04 tr:first-child th:nth-child(3) {
    background: #4da5aa;
}
#cont04 tr:first-child th:nth-child(4) {
    background: #e97781;
}
#cont04 tr:nth-child(2) strong {
    display: inline-block;
    margin-bottom: 15px;
}
#cont04 tr th:first-child {
    font-size: 17px;
    font-weight: bold;
	width: 7em;
	padding: 10px;
}
#cont04 tr td:nth-child(2) {
    background: #e3f4ff;
}
#cont04 tr td:nth-child(3) {
    background: #e2fdff;
}
#cont04 tr td:nth-child(4) {
    background: #fff5f6;
}
#cont04 td strong span {
    color: #f40016;
}
#cont04 tr:last-child td {
    text-align: left;
}
#cont04 tr:last-child td small {
    font-size: 14px;
    display: block;
}
#cont04 tr:nth-child(4) td:nth-child(3) {
    background: #fff5f6;
}
#cont04 tr:nth-child(4) td:nth-child(2) .box{
	background:#fff;
	padding: 20px;
}
#cont04 tr:nth-child(4) td:nth-child(2) {
    background: linear-gradient(90deg,#e3f4ff 0%,#e3f4ff 50.8%,#e2fdff 50.8%,#e2fdff 100%);
}
#cont04 tr:last-child td p strong {
    font-size: 18px;
	line-height: 1;
}

#cont04 .tel{
	padding-left:70px;
	background:url(../img/tel.jpg) no-repeat left center;
	line-height: 1.4;
	margin-bottom: 10px;
}
#cont04 tr:last-child td:last-child .tel{
	background:url(../img/tel_free.jpg) no-repeat left center;
}

/*------------
cont05
------------*/

#cont05{
	background:#fcffd4;
	padding:60px 0;
	text-align: center;
}
#cont05 h3{
	color:#e71312;
}
#cont05 strong.line{
	font-size:24px;
	font-weight:bold;
	display: block;
	margin:30px auto;
  position: relative;
  display: inline-block;
}
#cont05 .line::before,
#cont05 .line::after {
    background: url(../img/line_r.png) no-repeat left center / contain;
    position: absolute;
    top: -10px;
}
#cont05 .line::before{
  left: -42px;
}
#cont05 .line::after {
  right: -42px;
}
#cont05 .wrap div:last-child{
	text-align:left;
	font-size:18px;
	background:#ffeb6e;
	padding:20px 60px;
	display: inline-block;
	line-height:2;
	margin-top:30px;
}
#cont05 .fl{
	margin-bottom:30px;
  background-color: #e71312;
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flexbox;
  display: -o-inline-flex;
  display: inline-flex;
  box-sizing:border-box;
  padding: 30px 30px 40px;

}
#cont05 .fl .icon{

}
img.icon{
  width: 310px;
}
img.text{
  width: 400px;
}
/*------------
cont06
------------*/

#cont06{
  padding: 60px 0;
}
#cont06 h3{
  margin-bottom: 20px;
}
#cont06 p{
  margin-bottom: 5px;
}
#cont06 dl{
  margin-top: 30px;
}
#cont06 dl dt{
  margin-bottom: 10px;
}
#cont06 dl dd .att{
   counter-reset: number;
}
#cont06 dl dd .att li{
    padding-left: 1.8em;
}
#cont06 dl dd .att li::before{
   counter-increment: number;
   content: counter(number);
   background-color: #fff;
   border-radius: 50%;
   border:1px solid #333;
   color: #333;
   text-align: center;
   height: 1.5em;
   width: 1.5em;
}



/*-----------------------------------------------

	footer

-----------------------------------------------*/
.cfx {
    *zoom: 1;
    overflow: hidden;
}
#footer_area{
	border-top:1px solid #1c539d;
	padding:20px 0;
	font-size:14px;
	background: #f6f6f6;
}
#footer_area div#footer{
	width:900px;
	margin:0 auto;
	position:relative;
}
#footer_area div#footer ul{
	margin-bottom:20px;
	font-family:helvetica,"Hiragino Kaku Gothic ProN","メイリオ","ＭＳ Ｐゴシック",sans-serif;
}
/* サファリのみ フォント指定 */
html:\66irst-child #footer_area ul{
	font-family:"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}
#footer_area div#footer ul li{
	float:left;
	border-right:1px solid #595959;
	padding-right:10px;
	margin-right:10px;
}
#footer_area div#footer ul li.end{
	border-right:none;
}
#footer_area div#footer ul li:last-child{
	border-right:none;
}
.f_block{
	float:left;
}
#footer_area div#footer p{
	float:right;
	text-align:right;
}
p#copyright{
	text-align:center;
	margin-top:30px;
}
#footer a:link {
    color: #1c539d;
	text-decoration:underline;
}

#modal-win {
  width: 100%;
  position: absolute;
}
#modal-win-inner {
  box-shadow: 0 0 5px rgba(0, 0, 0, .25);
  margin: 0 auto;
  position: relative;
  z-index: 101;
}
#modal-bg {
  width: 100%;
  height: 100%;
  background-color: #000000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  cursor: pointer;
}
#sample1{
	display:none;
}



.sp{
	display:none;
}
/*

schedule

*/
.schedule{
  width: 100%;
  width: calc(100vw - 30px);
  height: auto;
  max-width: 700px;
  padding: 20px;
  background: #fff;
  text-align: center;
  box-sizing:border-box;
  display: none;
}
.schedule .title{
  font-size: 20px;
  text-align: center;
  font-weight: bold;
}
.schedule .small{
  font-size: 80%;
}
.schedule .underline{
  display: block;
  color: #000;
  width: 8em;
  position: relative;
  margin:0 auto;
}
.schedule .underline:before{
  content: "";
  display: block;
  width: 100%;
  height: 0.5em;
  background: yellow;
  bottom: 0.5em;
  position: absolute;
}

.schedule .underline .inner{
  position: relative;
}
.schedule .link {
  text-decoration: underline;
}
.schedule_img{
  width: 100%;
  max-width: 500px;
  margin: 30px auto;
  display: block;
}
#cont04 .att{
  margin-top: 0.5em;
}
.att li {
  padding-left: 0.8em;
  position: relative;
  margin-bottom: 0.5em;
  text-align: left
}
.att li::before{
  position: absolute;
  content: "※";
  background:none;
  font-size: 0.7em;
  top: 0.4em;
  /*color :#e64382;*/
  font-weight: bold;
  left: 0;
}
.att li::before{}
#cont04 .att li::before{
  color: #000;
}
.schedule .modal-close{
  background-color: #000;
  margin-top: 15px;
  padding: 5px 15px;
  box-sizing:border-box;
  border-radius: 50px;
  color: #fff;
  display: inline-block;
}
.schedule .color{
  color :#f40016;
}

@media only screen and (max-width: 999px) {
.schedule{
  overflow-y: scroll;
  max-height: calc(100vh - 80px);

}
.schedule::-webkit-scrollbar {
  background:#ccc;
  width:10px;
}
.schedule::-webkit-scrollbar-thumb {
  background:#aaa;
}
body{
	font-size:14px;
}
.pc{
	display:none;
}
.sp{
	display:inherit;
}
.wrap{
	padding:0 15px;
}
.mv_sp img{
	width:100%;
}
header.wrap{
    padding: 20px 15px;
}

/*.totop {
    width: 15%;
    max-width: 70px;
    bottom: 1%;
    right: 1%;
}*/

a[href^="tel:"] {
    pointer-events: all;
}
h1 img {
    max-width: 150px;
}
h3,
#cont02 h3,
#cont03 h3{
	font-size:22px;
}
#cont01 strong.line{
	font-size:20px;
}
#cont03 li p,
#cont05 strong.line{
	font-size:18px;
}
#cont01 .wrap div span {
    font-size: 16px;
}
#cont01 .wrap div p{
	text-align:left;
}
#cont02 li p strong{
  margin-top: 20px;
}
#cont02 ul.fl {
    flex-direction: column;
}
#cont02 ul.fl li {
    margin-bottom: 60px;
}
#cont02 ul.fl li:last-child{
  margin-bottom: 0;
}
#cont02 .hukidashi {
  margin: 0 auto 30px;
  max-width: 290px;
  padding: 1em;
}
#cont02 .hukidashi.h_l {
  line-height: 1.4;

}
#cont02 .hukidashi.h_l::before {
    left: 50%;
    margin-left: -20px;
}
#cont02 .hukidashi.h_l::after{
	content:none;
}
#cont02 .hukidashi p{
	font-size:16px;
}
#cont03 h3{
	margin-bottom:30px;
}
#cont03 li {
    padding: 80px 0 40px;
    max-width: 430px;
    margin: 0 auto;
}
#cont03 li:first-child,
#cont03 li:nth-child(2),
#cont03 li:nth-child(3),
#cont03 li:nth-child(4){
	background-position:top center;
	background-size: 60px;
}
#cont04 .table_wrap{
    overflow-x: scroll;
    /*position: relative;*/
}
#cont04 .table_wrap  {
  /*overflow-y:auto;*/
}
#cont04 .table_wrap::-webkit-scrollbar {
  background:#ccc;
  height:10px;
}
#cont04 .table_wrap::-webkit-scrollbar-thumb {
  background:#aaa;
}
#cont04 table {
    line-height: 1.4;
    width: 950px;
}
#cont04 tr{
  border-left: 50px solid #eee;
}
#cont04 tr th:first-child +th,
#cont04 tr th:first-child +td{
  /*padding-left: 140px;*/
}
#cont04 tr th:first-child {
    font-size: 15px;
    line-height: 1;
    position: absolute;
    left: 0;
    width: 50px;
    padding: 15px;
    box-sizing:border-box;
    /*width: calc(1em + 20px);*/
    margin-left : 15px;
    background-color: #fff;
    border-radius: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: -o-flex;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    z-index: 2;
    border-bottom: solid 2px #eeeeee;
    line-height: 1.2em;
}

#cont04 tr:nth-child(1) th,
#cont04 tr:nth-child(1) td{
  height: 100px;
  box-sizing:border-box;
}
#cont04 tr:nth-child(2) th,
#cont04 tr:nth-child(2) td{
  height: 162px;
  box-sizing:border-box;
}
#cont04 tr:nth-child(3) th,
#cont04 tr:nth-child(3) td{
  height: 130px;
  box-sizing:border-box;
}
#cont04 tr:nth-child(4) th,
#cont04 tr:nth-child(4) td{
  height: 158px;
  box-sizing:border-box;
}
#cont04 tr:nth-child(5) th,
#cont04 tr:nth-child(5) td{
  height: 185px;
  box-sizing:border-box;

}
#cont04 tr:nth-child(5) th{
  border-bottom: none;
}
#cont04 tr:nth-child(5) td{
  border-bottom: 1px solid #e3f4ff;
}
#cont04 tr:nth-child(4) td.sp{
  display: table-cell;
  background-color: #e3f4ff;
}
#cont04 tr:nth-child(4) td.sp+td.sp{
  background-color: #e2fdff;
}

#cont04 tr:nth-child(4) td:last-child{
  background-color: #fff5f6;
}
#cont04 tr:nth-child(4) td.sp .box{
  background: #fff;
  box-sizing:border-box;
  padding:10px 10px 15px;
  text-align: left;
}

#cont05 .fl {
    flex-direction: column;
    max-width: 405px;
    margin: 0 auto 20px;
    padding: 30px 10px 30px;
}
#cont05 .fl .icon{
  width: 100%;
  max-width: 250px;
}
#cont05 .fl .text {
    width: 100%;
    max-width: 450px;
}
#cont05 .fl + p {
    text-align: left;
}
#cont05 .wrap div:last-child {
    padding: 20px 5%;
    font-size: 15px;
}


#footer_area{
	padding:20px 4%;
}
#footer_area div#footer {
	width: 100%;
}
#footer_area div#footer ul {
	margin-bottom: 10px;
}
.f_block {
	float: none;
}
.f_block > a img{
	max-width:180px;
	margin:0 auto;
}
#footer_area div#footer p {
	float: none;
	text-align: left;
	font-size:12px;
	line-height:1.8em;
	margin-top:10px;
}
p#copyright {
	margin-top: 20px;
}

}