/* image
------------------------------------------------------------*/
.curved {
	background: url("../images/top_bg.png") repeat-x 50% 50%;
	background-size:cover;
	height: 60vh;
	display: flex;
	align-items: top;
	justify-content: center;
}

.curved p {
	text-align: center;
	padding-top: 20px;
	font-size: 110%;
	font-weight: 600;
	color: #2c308f;
}

#navWrap {
	width: 100vw;
	top: 140px;
}
/* INFOR
------------------------------------------------------------*/
.info {
	width: 94%;
	max-width: 1000px;
	margin: 0 auto;
}
h2.info_title {
	margin: 1em 0 0 1em;
	font-size: 180%;
	color: #333399;
}
.infolist {
  max-width: 980px;
  margin: 0 auto;
	padding: 0 1em;
    background: #FFF;
    border: solid 3px #333399;/*線*/
    border-radius: 10px;/*角の丸み*/	
}

.flex_list {
	display: flex;
	padding: 10px 0;
	border-bottom: 1px dashed #dcdcdc;
 }
.infolist dl dd {
	margin-left:40px;
}
.infolist dl {
	border-bottom: 1px dashed #dcdcdc;
}
.list_link {
	text-align: right;
	margin: 20px 0 0 auto;
}

.date_top {
	width: 180px;
	font-size: 98% !important;
	padding: 0.5em 1.5em;
	margin: 0 0 0 auto;
	}

/* PR
------------------------------------------------------------*/
.box-row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.box-row img {
	max-width: 100%;
}

.pr_box {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
 .pr_box li {
    list-style: none;
	 margin: 20px;
  }


.button a {
    background: #2c308f;
    border-radius: 10px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 320px;
    padding: 10px 16px;
    line-height: 1.8;
    text-decoration: none;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-weight: 600;
}

.button a:hover {
    background: #74c6be;
    color: #FFF;
}
.button a:hover:before {
    color: #fff;
}

.btn_inq a {
    background: #2c308f;
    border-radius: 25px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 180px;
    padding: 4px 6px;
    line-height: 1.8;
    text-decoration: none;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}

.btn_inq a:hover {
    background: #74c6be;
    color: #FFF;
}
.btn_inq a:hover:before {
    color: #fff;
}

/* main
------------------------------------------------------------*/
.nav_box {
  display: flex;
  flex-wrap: wrap;
	justify-content:center
}

.item {
  padding: 12px;
	width: 15%; /* 画像が3つ並ぶように設定 */
  background-color: #fff;
}

@media not all and (min-width: 768px) {
  .item {
    width: 33%;
  }
}





/* main
------------------------------------------------------------*/
#main_container {
	width: 100%;
	margin:0;
	background: #f8f8f2 url("../images/foot_line.png") repeat-x left bottom;

}
#main_container h2 {
	font-size: 120% !important;
	padding: 0;
	text-align: left;
}
.main_box {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
}
 .main_box li {
    list-style: none;
	 margin: 20px;
  }
.col2_box {
	display: flex;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
}
.main_box2 {
	width: 50%;
	margin: 0 auto;
}
.main_box_list {
	width: 100%;
	margin: 0 auto 0px;
	display: flex;
}
 .main_box_list li {
    list-style: none;
	 margin: 10px;
	max-width: 190px;
  }


/* RESPONSIVE 設定
------------------------------------------------------------*/
@media screen and (min-width: 768px) {/* PC用スタイル */


}

@media only screen and (min-width: 767px) and (max-width: 1280px) {/* タブレット用スタイル */
}
 
@media screen and (max-width: 767px) {/* モバイル用スタイル */
	#headerTop {
		height: 80px;
}
	#headerTop h1{
		padding-top: 0px;
		font-size: 150%;
		text-align: center;
		}
	#headerTop h1 .min {
	letter-spacing: 0.03em;
		margin: 0;
}
	header {
		width: 100%;
		z-index: 50;
		height: 80px;
	}
	/* global menu */
	.panel{
		width: 100%;
		display: none;
		overflow: hidden;
		position: relative;
		left: 0;
		top: 0;
		z-index: 100;
	}

	/* information */
	.flex_list {
		display: flex;
		flex-direction: column;
		}
	.list_link {
	text-align: right;
}
	.infolist dl dd {
		margin-left:10px;
		}


	/* image */
	.curved {
	background: url("../images/top_bg_sp.png") repeat-x 50% 50%;
	background-size:cover;
	height: 50vh;
	display: flex;
	align-items: top;
	justify-content: center;
}
	
	.curved_inner {
	height: 40vh;
		width: 90%;
}
	.curved p {
	padding-top: 20px;
	font-size: 94%;
}
	/* contact */
	.pr_box {
		width: 100%;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
}
	 .pr_box li {
		 width: 42%;
		 margin: 8px 10px;
  }
	.main_box {
		display: flex;
		width: 100%;
		margin: 0 auto;
		flex-wrap: wrap;
		justify-content: flex-start;
}
	 .main_box li {
		 width: 42%;
		 margin: 8px 10px;
  }	
.col2_box {
	display: flex;
	width: 100%;
	margin: 0 auto 0px;
	flex-direction: column;
}
	.main_box2 {
	width: 100%;
	margin: 0 auto ;
	justify-content: center;

}

.p-section {
  padding: 0px auto;
  background-color: #ffffff;
  position: relative;
  z-index: 0;
  text-align: center;
}
}



	/* 区切り */
.i-section {
  background-color: #ffffff;
  position: relative;
  z-index: 0;
}
.p-section {
  padding: 80px 0;
  background-color: #ffffff;
  position: relative;
  z-index: 0;
  text-align: center;
}

.p-section.p-section--bg {
  background: #ffffff;
}

.p-section.p-section--layer::after{
  content: "";
  position: absolute;
  height: 50px;
  width: 100%;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background-color: #ffffff;
  left: 0;
  top: 0;
  z-index: 1;
}


