@charset "utf-8";
/***************************************************************************************************
 default.css
 ***************************************************************************************************/
/*
font-family: 'Noto Sans JP', sans-serif;
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');

/*
font-family: "Archivo", sans-serif;
*/
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@500&display=swap');

/*
 font-family: "pragmatica-extended",sans-serif; 
*/

/*
*/
*, *::before, *::after {
	position:relative;

	margin: 0;
	padding: 0;
	box-sizing: border-box;

	border: 0;
	border-style: none;
	outline: 0;

	background: none;
	background-color: transparent;
	background-repeat: no-repeat;

	text-decoration: none;

	font-family: inherit; 
  font-size:inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  color:inherit;

	-webkit-font-smoothing: antialiased;
	/* text-rendering: optimizeSpeed; */

  backface-visibility: hidden;
}
table {
	/* border-collapse: collapse; */
	border-spacing: 0;
	border: none;
}
input::-ms-clear {
	visibility: hidden
}
/*
*/
:root {
	--max_wid_1:1600px;

	--padding_1:0 min(calc(1680px * .044), 4.4%);

	--wid_1:min(300px, 90%);
	--wid_2:min(350px, 90%);

	--col_1:#91D2E6;
}
/*
*/
html {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	line-height: 2;
	letter-spacing: .05em;
	font-weight:400;
	color: #000000;
	width: 100%;
}
body {
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	text-align: left;
}
#pagetop {
	width: 100%;
}
/*
*/
#header_input {
	display: none;
}
/*
*/
#header {
	position:fixed;
	width:100%;
	height: 100%;
	left:0;
	top:0;
	z-index: 1000010;
	height: 0;
	transition:	background-color .4s ease-out 0s, height 0s .4s;
}
#header_input:checked ~ #header {
	background-color: #91D2E6;
	height:100lvh;
	transition:	background-color .4s ease-out 0s;
}
/*  */
#header .btn_menu {
	position: absolute;
	left:calc(100% - 37px);
	top:0;
	width:38px;
	height:38px;
	background-color: #91D2E6;
	border-radius: 0 0 0 10px;
	transition:	background-color .4s ease-out 0s;
}
#header_input:checked ~ #header .btn_menu {
	background-color: #ffffff;
}
#header .btn_menu label {
	position: absolute;
	width:100%;
	height: 100%;
	left:0;
	top:0;
	cursor: pointer;
}
#header .btn_menu .b_1,
#header .btn_menu .b_2,
#header .btn_menu .b_3 {
	position: absolute;
	left:27px;
	height:2px;
	background-color: #ffffff;
	translate: -100% -50%;
	pointer-events: none;
	transform-origin: 100% 0;
	transition:	scale .4s ease-out .2s;
	opacity: 1;
}
#header .btn_menu .b_1 {
	top:14px;
	width:16px;
}
#header .btn_menu .b_2 {
	top:19px;
	width:12px;
}
#header .btn_menu .b_3 {
	top:24px;
	width:8px;
}
#header_input:checked ~ #header .btn_menu .b_1,
#header_input:checked ~ #header .btn_menu .b_2,
#header_input:checked ~ #header .btn_menu .b_3 {
	opacity:0;
	scale:0 1;
	transition:
	scale .2s ease-out 0s,
	opacity 0s .2s;
}
#header .btn_menu .b_4,
#header .btn_menu .b_5 {
	position: absolute;
	left:19px;
	top:19px;
	width:16px;
	height:2px;
	background-color: #91D2E6;
	translate: -50% -50%;
	transition:
	scale .2s ease-out 0s,
	opacity 0s .2s;
	opacity: 0;
	scale:0 1;
}
#header .btn_menu .b_4 {
	rotate:45deg;
}
#header .btn_menu .b_5 {
	rotate:-45deg;
}
#header_input:checked ~ #header .btn_menu .b_4,
#header_input:checked ~ #header .btn_menu .b_5 {
	opacity:1;
	scale:1 1;
	transition:	scale .4s ease-out .2s;
}
/*  */
#header .hd_blk_1 {
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	opacity: 0;
	pointer-events: none;
	transition:	opacity .4s ease-out 0s;
	overflow: auto;
}
#header_input:checked ~ #header .hd_blk_1 {
	opacity: 1;
	pointer-events: auto;
}
#header .hd_blk_1 > div {
	width:100%;
	height:100%;
	min-height: 400px;
}
#header .hd_blk_1 > div > div {
	 position: absolute;
	 left: 50%;
	 top:50%;
	 translate:-50% -50%;
}
#header .hd_blk_1 nav {
	display: block;
}
#header .hd_blk_1 nav ul {
	display: block;
	list-style: none;
}
#header .hd_blk_1 nav ul li {
	display: block;
	text-align: center;
	font-size: 0;
	padding:.8lvh 0;
}
#header .hd_blk_1 nav ul li a {
	display: inline-block;
	font-size:19px;
	line-height: 1;
	font-weight: 500;
	white-space: nowrap;
	color:#ffffff;
	padding:10px;
}
#header .hd_blk_1 p {
	display: block;
	padding: 4vh 0 0 0
}
#header .hd_blk_1 p a {
	display: block;
	height: auto;
	border-radius: 5px;
	padding:17px 20px;
	background-color: #ffffff;
	font-size: 19px;
	line-height: 1;
	font-weight: 700;
	white-space: nowrap;
	color:var(--col_1);
}
/*  */
#header .hd_blk_2 {
	position: absolute;
	left:4.4%;
	top:8%;
	opacity:0;
	pointer-events: none;
	transition:	opacity .4s ease-out 0s;
}
#header_input:checked ~ #header .hd_blk_2 {
	opacity: 1;
	pointer-events: auto;
}
#header .hd_blk_2 p {
	width:min(10vw, 65px);
}
#header .hd_blk_2 p::after {
	position: absolute;
	display: block;
	content: '';
	width: 1px;
	height: 50%;
	left:-1px;
	top:0;
	border-left: 2px solid #ffffff;
}
#header .hd_blk_2 p br {
	display: none;
}
#header .hd_blk_2 p img:nth-of-type(1) {
	display: block;
	width:68%;
	left:16%;
	top:0;
	transform-origin: 0 0;
	scale: .5;
}
#header .hd_blk_2 p img:nth-of-type(2) {
	position: absolute;
	display: block;
	width:24%;
	left:100%;
	top:0;
	translate:-100% 0;
}
/*
*/
#footer {
	width:100%;
	max-width: var(--max_wid_1);
	margin: auto;
	text-align: center;
	height: 100px;
}
#footer > div {
	left:50%;
	width:50%;
	height: 100%;
}
#footer > div > p {
	font-size: 12px;
	line-height: 1.25;
	padding: 30px 0 0 0;
}
#footer > div > p span {
	display: inline-block;
	white-space: nowrap;
}
/*
*/
#sp_btn {
	display: none;
}
/***************************************************************************************************
 responsive
***************************************************************************************************/
@media screen and (max-width:800px) {
/*
*/
#header .hd_blk_1 > div > div {
	left: 0;
	top:0;
	width:100%;
	height:100%;
	translate:0 0;
}
#header .hd_blk_1 nav {
	position: absolute;
	left: 50%;
	top:calc(50% - 20px);
	translate:-50% -50%;
}
#header .hd_blk_1 nav ul li a {
	font-size:min(4vw, 16px);
}
#header .hd_blk_1 p {
 padding: 0;

 position: absolute;
 left: 50%;
 top:min(1000px, 100%);
 translate:-50% calc(-100% - 40px);
}
#header .hd_blk_1 p a {
	font-size:min(4vw, 19px);
	padding:15px 18px;
}
/*  */
#header .hd_blk_2 {
	left:6.4%;
	top:4%;
}
#header .hd_blk_2 p {
	width:max(12px, min(2vw, 15px));
}
#header .hd_blk_2 p::after {
	display: none;
}
#header .hd_blk_2 p img:nth-of-type(1) {
	width:100%;
	left:0;
	scale: 1;
}
#header .hd_blk_2 p img:nth-of-type(2) {
	display: none;
}
/*
*/
#footer {
	order: 9;
	height: 130px;
}
#footer > div {
	left:0;
	width:100%;
}
#sp_btn {
	position: fixed;
	display: block;
	left:0;
	bottom:0;
	width: 100%;
	z-index: 1000001;
	pointer-events: none;
}
#sp_btn.show {
	pointer-events: auto;
}
#sp_btn p {
	width:100%;
	height: 100%;
	translate: 0 100%;
	transition: translate .4s ease-out 0s;
}
#sp_btn.show p {
	translate: 0 0;
}
#sp_btn p a {
	display: block;
	width:100%;
	height: 50px;
	text-align: center;
	background-color: var(--col_1);
	border-radius: 10px 10px 0 0;
	font-size: 16px;
	line-height: 48px;
	font-weight: 700;
	color:#ffffff;
}
/*  */
}
