@charset "utf-8";
:root {
	--f64: clamp(2rem, 5vw, 4rem); /*1280px以上は64px、640px以下は32px、その間は可変*/
	--f48: clamp(1.5rem, 3.75vw, 3rem); /*1280px以上は48px、640px以下は24px、その間は可変*/
	--f36: clamp(1.13rem, 2.81vw, 2.25rem);/*1280px以上は36px、640px以下は18px、その間は可変*/
	--f30: clamp(1rem, 0.125rem + 2.188vw, 1.875rem);/*1280px以上は30px、640px以下は16px、その間は可変*/
	--f28: clamp(0.938rem, 0.221rem + 1.91vw, 1.75rem);/*1280px以上は28px、640px以下は15px、その間は可変*/
	--f24: clamp(0.9rem, 1.875vw, 1.5rem);/*1280px以上は24px、640px以下は14.4px、その間は可変*/
	--f20: clamp(0.75rem, 1.563vw, 1.25rem);/*1280px以上は20px、640px以下は12px、その間は可変*/
	--f18: clamp(0.75rem, 1.427vw, 1.125rem);/*1280px以上は18px、640px以下は12px、その間は可変*/
	--f16: clamp(0.625rem, 1.25vw, 1rem);/*1280px以上は16px、640px以下は10px、その間は可変*/
	--f14: clamp(0.625rem, 1.09vw, 0.875rem);/*1280px以上は14px、640px以下は10px、その間は可変*/
	--f12: clamp(0.56rem, 0.94vw, 0.75rem);/*1280px以上は14px、640px以下は9px、その間は可変*/
	
	--main: #062B93;
	--sub: #39BDF0;
	--grad: linear-gradient(135deg, rgba(94, 252, 232, 1), rgba(115, 110, 254, 1))
}
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 {
	overflow-x: hidden;
	scroll-behavior: smooth;
	scroll-padding-top: 40px;
}
body {
	line-height: 1.8;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 400;
	font-size: var(--f18);
	color: #1A1A1A;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ul, ol {
	  list-style: none;
}
a {
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
}
p {
	margin-bottom: 1em !important;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, select {
	vertical-align: middle;
}
address {
	font-style: normal;
}

section.first {
	padding-top: 0;
}
article {
	padding: 3em 0;
}
header #header_menu {
	  background-color: #1A1A1A;
	  color: #FFF;
	  width: 100vw;
	  height: 40px;
	  position: fixed;
	  top: 0;
	  left: 0;
	  right: 0;
	  z-index: 999;
	  padding: 10px 0;
	  display: flex;
	  align-items: center;
	  justify-content: space-between;
}
header.active #header_menu {
	box-shadow: 0px 5px 5px rgba(0,0,0,0.2);
}
header h1 {
	margin-left: 10px;
	flex-grow: 1;
}
header h1 a {
	display: block;
}
header h1 img {
	  display: block;
	  width: 200px;
	  height: auto;
}
header .yoyaku_btn {
	background: var(--grad);
	border-radius: 9999px;
	color: #FFF;
	display: block;
	font-weight: 600;
	height: 30px;
	line-height: 30px;
	padding: 0 1.5em;
}
.header__nav {
	position: absolute;
	right: 0;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	transform: translateX(100%);
	background-color: #1A1A1A;
	transition: ease .4s;
}
.nav-items {
	padding-top: 40px;
	/*text-align: center;*/
}
.nav-items__item {
}

.nav-items__item a {
	color: #FFF;
	display: block;
	margin: 5px 15px 0;
	padding-bottom: 15px;
	font-size: var(--f16);
	font-weight: 600;
	line-height: 1.2;
	transition: all .3s;
}
.nav-items__item a:hover {
	color: #CCC;
}
.nav-items__item a.current {
	color: #CCC;
}
.dropdown__lists {
	margin: -5px 15px 10px;
	display: flex;
	flex-wrap: wrap;
	
}
.dropdown__list {
}
.dropdown__list a {
	background-color: #333;
	padding: 1em;
	margin: 0 10px 10px 0;

}
.header__hamburger {
	width: 40px;
	height: 100%;
}
.hamburger {
	background-color: transparent;
	border-color: transparent;
	z-index: 9999;
}
.hamburger span {
	width: 100%;
	height: 2px;
	background-color: #FFF;
	position: relative;
	transition: ease .4s;
	display: block;
}
.hamburger span:nth-child(1) {
	top: 0;
}
.hamburger span:nth-child(2) {
	margin: 6px 0;
}
.hamburger span:nth-child(3) {
	top: 0;
}
.header__nav.active {
	transform: translateX(0);
}
.hamburger.active span:nth-child(1) {
	top: 5px;
	transform: rotate(45deg);
}
.hamburger.active span:nth-child(2) {
	opacity: 0;
}
.hamburger.active span:nth-child(3) {
	top: -11px;
	transform: rotate(-45deg);
}
.nav-items__item a.yoyaku, .nav-items__item a.line {
	display: none;
}
.w1400 {
	display: block;
	width: calc(100% - 2rem);
	max-width: 1400px;
	margin: auto;
}
.w1200 {
	display: block;
	width: calc(100% - 2rem);
	max-width: 1200px;
	margin: auto;
}
.w1000 {
	display: block;
	width: calc(100% - 2rem);
	max-width: 1000px;
	margin: auto;
}
.bl {
	background-color: #DCF8F9;
}
.ye {
	background-color: #FFFDB8;
}
 h2#title {
	height: 160px;
	line-height: 160px;
	margin-top: 60px;
	padding: 0;
	text-align: center;
	color: var(--main);
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-size: var(--f48);
}
h2#title:before, h2#title:after {
	content: '';
	display: inline-block;
	width: 3em;
	height: 1em;
	background: url("../img/minsa_bl.png") no-repeat left 30%/ contain;
	vertical-align: middle;
}
h2#title:before {
	margin-right: 0.5em;
}
h2#title:after {
	margin-left: 0.5em;
}

h3 {
	color: var(--main);
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 700;
	font-size: var(--f36);
	text-align: center;
	margin-bottom: 1.5em;
}
h3 span {
	display: inline-block;
}
h3.minsa:before, h3.minsa:after {
	content: '';
	display: inline-block;
	width: 3em;
	height: 1em;
	background: url("../img/minsa_aqua.png") no-repeat left top / contain;
	vertical-align: middle;
}
h3.minsa:before {
	margin-right: 0.5em;
}
h3.minsa:after {
	margin-left: 0.5em;
}
.ybtn {
	width: calc(100% - 2rem);
	max-width: 800px;
	height: 2.4em;
	line-height: 2.4em;
	background: var(--grad);
	border-radius: 10px;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
	color: #FFF;
	display: block;
	font-size: var(--f36);
	font-weight: 600;
	margin: auto;
	text-align: center;
}
.subtxt {
	text-align: center;
}
nav.yoyaku {
	padding: 3em 0;
}
footer {
	background-color: #1A1A1A;
	color: #FFF;
	padding-bottom: 60px;
}
footer section {
	padding: 1em 0 3em;
}
footer a {
	color: #FFF;
}
footer #main_footer {
	padding-bottom: 1rem;
}
footer #logo, footer #sitemap, footer #btn {
	display: none;
}
footer #copyright {
	background: url("../img/minsa_wh.png") repeat-x center center / 2.4em auto;
	border-top: solid 1px #999;
	border-bottom:  solid 1px #999;
	margin-top: 1em;
	padding: 0.5em 0;
	text-align: center;
	width: 100%;
}
footer #copyright small {
	background-color: #1A1A1A;
	padding: 0 0.5em;
}
#fixed_bar {
	padding: 0;
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100vw;
	z-index: 9999;
}
#fixed_bar ul {
	display: flex;
	width: 100%;
}
#fixed_bar ul li {
	font-weight: 700;
	height: 60px;
	line-height: 60px;
	text-align: center;
}
#fixed_bar ul li.yoyaku {
	width: 55%;
	font-size: var(--f36);
}
#fixed_bar ul li.line {
	width: 45%;
	font-size: var(--f24);
}
#fixed_bar ul li a {
	color: #FFF;
	display: block;
}
#fixed_bar ul li.yoyaku a {
	background-color: var(--main);
	width: 100%;
}
#fixed_bar ul li.line a {
	background-color: #06C755;
	width: 100%;
}
#fixed_bar ul li a img {
	vertical-align: middle;
}

@media screen and (min-width: 768px) {
	.ybtn {
		width: 60%;
	}
	footer section {
		padding: 3em 0;
	}
	footer #btn {
		display: flex;
		justify-content: space-between;
		text-align: center;
	}
	footer #btn li {
		width: 48%;
	}
	footer #btn li a {
		border-radius: 10px;
		display: block;
		font-size: var(--f30);
		font-weight: 600;
		height: 48px;
		line-height: 48px;
		width: 100%;
	}
	footer #btn li a.yoyaku {
		background: var(--grad);
		margin-bottom: 1em;
	}
	footer #btn li a.line {
		background-color: #06C755;
	}
	footer #btn li a.line img {
		vertical-align: middle;
	}
	footer #sitemap {
		display: block;
		display: flex;
		justify-content: center;
		font-size: var(--f14);
	}
	footer #sitemap li {
		margin: 0 1em;
	}
	footer #copyright {
		margin-top: 2em;
	}
}
@media screen and (min-width: 960px) {
	html {
		scroll-padding-top: 80px;
	}
	header #header_menu {
		height: 80px;
		width: auto;
	}
	header h1 {
		flex-grow: 0;
	}
	header h1 img {
		width: 100%;
		height: auto;
	}
	header .yoyaku_btn {
		display: none;
	}
	.header__nav {
		background-color: transparent;
		position: static;
    	transform: initial;
    	height: 49px;
    	display: flex;
		width: auto;
		order: 2;
	}
	.header__nav.active {
		position: static;
		padding-top: 0;
	}
    .nav__items {
    	width: 100%;
    	display: flex;
    	align-items: center;
    	height: initial;
		margin-right: 1em;
		padding: 0;
  	}
	.nav-items__item {
  		margin: 0 0 0 0.8em;
		position: relative;
  	}
	.nav-items__item.sp {
		display: none;
	}
	.nav-items__item a {
    	margin-bottom: 0;
		font-weight: 600;
		margin: 0;
		padding-bottom: 0;
		height: 30px;
		line-height: 30px;
  	}
	.nav-items__item a.current {
		border-bottom: solid 1px var(--maincolor);
	}
	.nav-items__item span {
		cursor: pointer;
	}
	.nav-items__item:hover {
	}
	.nav-items__item.btm img {
		display: inline-block;
		vertical-align: middle;
	}
	.nav-items__item.btm .w12 {
		display: none;
	}
	.nav-items__item.btm a {
		color: #FFF;
		margin-top: 0;
		letter-spacing: 0.2em;
	}
	.nav-items__item.btm :hover {
		border-bottom: none;
	}
	.nav-items__item, .dropdown__list, .dropdown__lists {
		border: none;
	}
	.dropdown__lists {
    	visibility: hidden;
    	opacity: 0;
    	transition: all .3s;
    	position: absolute;
    	top: 36px;
    	left: -1em;
		padding: 0;
    	background-color: rgba(26, 26, 26, 0.95);
		margin: 0;
	}
	.nav-items__item:hover .dropdown__lists {
    	visibility: visible;
    	opacity: 1;
	}
	.dropdown__list {
    	position: relative;
	}
	.dropdown__list a:hover {
    	background-color: #333;
		color: #FFF;
	}
	.dropdown__list a {
		display: block;
    	text-decoration: none;
    	position: relative;
		padding: 5px 1em;
		margin-top: 0;
		margin-bottom: 0;
		height: 40px;
		line-height: 40px;
		width: 16em;
		transition: all .3s;
	}
	.nav-items__item a.yoyaku, .nav-items__item a.line {
		border-radius: 9999px;
		display: block;
		height: 40px;
		line-height: 40px;
		padding: 0;
		text-align: center;
	}
	.nav-items__item a.yoyaku, .nav-items__item a.line {
		padding: 0 0.8em;
	}
	.nav-items__item a.yoyaku:hover, .nav-items__item a.line:hover {
		color: #FFF;
	}
	.nav-items__item a.yoyaku {
		background: var(--grad);
	}
	.nav-items__item a.line {
		background-color: #06C755;
	}
	.nav-items__item a.line img {
		vertical-align: middle;
	}
	.hamburger {
    	display: none;
  	}
	h2#title {
		height: 240px;
		line-height: 240px;
		margin-top: 100px;
	}
	footer {
		padding-bottom: 0;
	}
	footer #main_footer {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	footer #logo {
		display: block;
		height: auto;
		width: 15%;
		max-width: 280px;
		margin-right: 2em;
	}
	footer #logo img {
		width: 100%;
		height: auto;
	}
	footer #main_footer .flex {
		width: calc(85% - 2em);
		max-width: 1000px;
	}
	footer #btn li a {
		height: 60px;
		line-height: 60px;
	}
	footer #btn a.line img {
		height: 40px;
	}
	footer #sitemap {
		justify-content: space-between;
	}
	footer #sitemap li {
		margin: 0 0 0 1.5em;
	}
	
	#fixed_bar {
		display: none;
	}
}

@media screen and (min-width: 1280px) {
	html {
		scroll-padding-top: 90px;
	}
	header #header_menu {
		height: 100px;
	}
	header h1 {
	}
	header h1 img {
		height: 60px;
	}
	.nav-items__item a.yoyaku, .nav-items__item a.line {
		height: 40px;
		line-height: 40px;
		padding: 0 1em;
	}
	.nav-items__item a.line img {
		/*height: 36px;*/
	}
	h2#title {
		height: 300px;
		line-height: 300px;
		margin-top: 120px;
	}
	footer #logo {
		margin-right: 3em;
	}
	
	#fixed_bar ul li {
		height: 80px;
		line-height: 80px;
	}
}
@media screen and (min-width: 1310px) {
	.nav-items__item a.yoyaku, .nav-items__item a.line {
		height: 40px;
		line-height: 40px;
		padding: 0 1.5em;
	}
}


