@charset "UTF-8";
html {
	color:#1d3331;
}
body {
	background:#f3fdfc;
}
a {
	text-decoration:none;
	color: inherit;
}
h1,h2,h3,h4 {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}
h2 {
	font-size:20px;
}
.top-nav {
	width:100%;
	max-width:950px;
	margin:0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  padding: 1em;
}
.top-logo {
	max-width:90px;
}
.menu {
  display: flex;
  flex-direction: row;
  list-style-type: none;
  margin: 0;
  padding: 0;
	z-index:100;
}

.menu > li {
  margin: 0 1rem;
  overflow: hidden;
}
.menu-button-container {
  display: none;
  height: 100%;
  width: 30px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#menu-toggle {
  display: none;
}

.menu-button,
.menu-button::before,
.menu-button::after {
  display: block;
  background-color: #2fbbaf;
  position: absolute;
  height: 4px;
  width: 30px;
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 2px;
}

.menu-button::before {
  content: '';
  margin-top: -8px;
}

.menu-button::after {
  content: '';
  margin-top: 8px;
}

#menu-toggle:checked + .menu-button-container .menu-button::before {
  margin-top: 0px;
  transform: rotate(405deg);
}

#menu-toggle:checked + .menu-button-container .menu-button {
  background: rgba(255, 255, 255, 0);
}

#menu-toggle:checked + .menu-button-container .menu-button::after {
  margin-top: 0px;
  transform: rotate(-405deg);
}
.contact_tel img {	
	margin-right: 5px;
}
@media (max-width: 950px) {
  .menu-button-container {
    display: flex;
  }
  .menu {
    position: absolute;
    top: 0;
    margin-top: 50px;
    left: 0;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
  }
  #menu-toggle ~ .menu li {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  #menu-toggle:checked ~ .menu li {
    border-bottom: 1px solid #e7e7e7;
    height: 2.5em;
    padding: 0.5em;
    transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
  }
  .menu > li {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0.5em 0;
    width: 100%;
    color: white;
    background-color: #2fbbaf;
  }
  .menu > li:not(:last-child) {
    border-bottom: 1px solid #444;
  }
}
.pccontent {
	display:none;
}
#fv {
	overflow: hidden;
}
#fv_img {
	position:relative;
	height:100vw;
}
.fv_img-men {
	position:absolute;
	top:0;
	left:-28.2%;
	height:60vw;
	z-index:10;
}
.fv_img-men img {
	height:100%;
}
.fv_img-women {
	position:absolute;
	top: 40%;
	right:-28.2%;
	height:60vw;
	z-index:11;
}
.fv_img-women img {
	height:100%;
}
#fv h2 {
	display:block;
	padding:7% 0;
	text-align:center;
	font-size: 5.3vw;
}
#fv h2 span {
	display:block;
	font-size: 1.15em;
}
.cont_outer {
	width:100%;
	max-width:950px;
	margin:0 auto;
}
.cont_inner {
	width:100%;
	padding:20% 15px;
}
section h2 {
	text-align:center;
	margin-bottom:10%;
}
.cont_news:after {
	content:"";
	width:100%;
	height:35px;
	background:url(../images/cont_news.png) no-repeat;
}
.cont_reson:after {
	content:"";
	width:100%;
	height:35px;
	background:url(../images/cont_reason.png) no-repeat;
}
.cont_ttl-left {
	position:relative;
}
.cont_ttl-left:after {
	position:absolute;
	top:0;
	left;0;
	background-size:contain;
	background-position:top left;
}
.cont_ttl-right {
	position:relative;
}
.cont_ttl-right:after {
	position:absolute;
	top:0;
	right;0;
	background-size:contain;
	background-position:top right;
}
.cont_news #news {
	width:100%
	max-width:500px;
	margin:0 auto 5px;
}
.cont_news dl {
	width:100%;
	max-width:500px;
	margin:0 auto 5px;
	display:block;
	border-bottom:dashed 1px #ccc;
	display:flex;
	flex-wrap: nowrap;
}
.cont_news dl dt {
	padding-right: 1rem;
}
.bg_pk {
	background:#faf0ea;
}
.cont_reson ul {
	margin-top:5%;
}
.cont_reson ul li {
	margin: 3% auto;
	padding: 10px 8px;
	background:#79a6a2;
	color:#fff;
	border-radius:5px;
	font-family: "Noto Serif JP", serif;
	font-size:1.1em;
}
.cont_reson ul li span {
	display: inline-block;
	border-right: solid 1px #fff;
	margin-right: 10px;
	padding-right: 10px;
}
.button_area {
	margin-top: 5%;
}
.button_area button {
	display:block;
	width:90%;
	height:34px;
	border:solid 1px #1d3331;
	border-radius: 17px;
	color:#1d3331;
	margin:2% auto 5%;
	background:url(../images/link-arrow.png) no-repeat;
	background-position: center right 10px;
}
footer {
	background:#2fbbaf;
	margin:0 auto;
	text-align:center;
	color:#fff;
	padding: 5px 0;
}
@media (min-width: 950px) {
	.spcontent {
		display:none;
	}
	.pccontent {
		display: block;
	}
	#fv {
	}
	#fv_img {
		height:500px;
	}     
	#fv h2 {
		font-size:40px;
	}
	.fv_img-men {
		height:500px;
		left:-20%;
	}
	.fv_img-women {
		height:500px;
		top:0;
		right:-20%;
	}
	.fv_ttl {
		width:100%;
		position: absolute;
		top:100px;
		z-index: 50;
	}
	.cont_inner {
		padding: 100px 0;
	}
	.cont_reson ul {
		display: flex;
		width:700px;
		margin: 5% auto;
	}
	.cont_reson ul li {
		width: 200px;
		height: 200px;
		font-size: 23px;
		text-align:center;
		padding: 15px 5px;
	}
	.cont_reson ul li span{
		display:block;
		width: 90%;
		margin:0 auto;
		border-right: none;
		border-bottom: solid 1px #fff;
		padding:0 0 10px;;
		margin-bottom: 20px;
		font-size: 1.5em;
	}
	.button_area {
		width: 600px;
		display:flex;
		gap:15px;
		margin:0 auto;
	}
}