@charset "utf-8";
@import url("https://unpkg.com/sanitize.css");
@import url("https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css");
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css");
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&display=swap');
@import url("/asset/css/animation.css");
@import url("/asset/css/inview.css");
@media print {
	.noprint {
		display:none;
	}
}
:root {
	--main-color: #0f71bd;
	--main-pale-color: #e9f0f6;

	--main-head-color: #0f71bd;
	--main-menu-color: #353535;
	--main-font-color: #222;
	--main-white-color: #fff;
	--main-gray-color: #535353;
	--errmsg-color: #ff5151;
	--button1-color: #0f71bd;
	--submit-color: #fa8e00;
}
html,body {
	margin: 0;padding: 0;
	height: 100%;
    font-size: 62.5%;
    letter-spacing: 0.07rem;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
html::-webkit-scrollbar {
	display: none;
}
body {
	font-family: 'BIZ UDPGothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    
    font-weight: 300; 
    -webkit-text-size-adjust: none;
	background: #fff;
	color: var(--main-font-color);
	line-height: 2;
	overflow-x: hidden;
}
figure {margin: 0;}
dd {margin: 0;}
nav {margin: 0;padding: 0;}
table {border-collapse:collapse;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
video {max-width: 100%;}
iframe {width: 100%;}
ul, ol {margin-bottom: 30px;}
a {color: var(--main-font-color);transition: 0.3s;}
a:hover {opacity: 0.8;}

section,
main > article {
	padding: 2% 5%;
}

#container {
	height: 100%;
	max-width: 1920px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

header {
	background: var(--main-head-color);
	color: #fff;
	position: relative;
}
header a {
	color: #fff;
}
header #logo img {display: block;}
header #logo {
	/* width: 200px;
	margin: 0 auto; */
	display: flex;
	flex-shrink: 0;
	flex-wrap: wrap;
	width: 100%;
	padding: 0 20px;
}
header #logo .logo-left{
	display: block;
	flex-direction: column;
	width: auto;
}
header #logo .logo-center{
	display: block;
	flex-direction: column;
	flex: 1;
}
header #logo .logo-right{
	display: block;
	flex-direction: column;
	margin-top: auto;
	width: auto;
	text-align: right;
	font-size: 1.2rem;
}
header #logo h1{
	font-size: 2rem;
}
header #logo a{
	text-decoration: none;
}
.home header #logo {
	position: absolute; z-index: 1;
	width: 75%;
	left: 15%;
	top: 0px;
}

#logo-right ul {list-style: none;margin: 0;padding: 0;}
#logo-right {display: none;}
#logo-right.db {display: block;}
#logo-right.dn {display: none;}
#logo-right a {
	display: block;text-decoration: none;
	text-align: right;
	padding: 10px;
}
#logo-right ul li a:hover {
	opacity: 1;
	background: #fff;
	color: var(--main-font-color);
}

#menubar ul {font-size:1.4rem;list-style: none;margin: 0;padding: 0;}
#menubar {
	display: block;
	opacity: 0;
	transition: all 1s ease;
	display: none;
}
#menubar.db {display: block;opacity: 1;}
#menubar.dn {display: block;opacity: 1;}
#menubar a {
	display: block;text-decoration: none;
	text-align: center;
	padding: 14px 0;
	background: var(--main-menu-color);
}
#menubar ul li a:hover {
	opacity: 1;
	background: var(--main-color);
	color: #fff;
}

.p #logo-right a {
	background: var(--main-color);
	color: #fff;
}
.s #logo-right.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding: 70px 0;
	background: rgba(0,0,0,0.9);
	color: #fff;
	animation: animation1 0.2s both;
	text-align: center;
}
.s #logo-right.db a {
	display: block;text-decoration: none;
	text-align: center;
	color: #fff;
	padding: 20px;
}
.p #menubar a {
	background: var(--main-menu-color);
	color: #fff;
}
.s #menubar.db {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding: 70px 0;
	background: rgba(0,0,0,0.9);
	color: #fff;
	animation: animation1 0.2s both;
	text-align: center;
}
.s #menubar.db a {
	display: block;text-decoration: none;
	text-align: center;
	color: #fff;
	padding: 20px;
}

#logo-right .ddmenu_parent ul {
	display: none;
}
#logo-right a.ddmenu {
	cursor: default;
}
#logo-right a.ddmenu:hover {
	background: var(--main-head-color);
	color: var(--main-white-color);
}
#logo-right a.ddmenu::before {
	font-family: "Font Awesome 5 Free";
	content: "\f150";
	font-weight: bold;
	margin-right: 0.5em;
	opacity: 0.6;
}
#logo-right .ddmenu_parent ul {
	border: 1px solid var(--main-color);
}
#menubar .ddmenu_parent ul {
	display: none;
}
#menubar a.ddmenu:hover {
	background: var(--main-menu-color);
	color: var(--main-white-color);
}
#menubar a.ddmenu::before {
	font-family: "Font Awesome 5 Free";
	content: "\f150";
	font-weight: bold;
	margin-right: 0.5em;
	opacity: 0.6;
}
#menubar .ddmenu_parent ul {
	border: 1px solid var(--main-menu-color);
}
#menubar_hdr.db {display: flex;}
#menubar_hdr.dn {display: none;}
#menubar_hdr {
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 0.5%;
	top: 2px;
	padding: 16px 14px;
	width: 52px;
	height: 52px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transform: scale(1.2);
}
#menubar_hdr span {
	display: block;
	transition: 0.3s;
	border-top: 2px solid #fff;
	box-shadow: 1px 1px 2px #000;
}
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;
	width: 26px;
}
#menubar_hdr.ham span:nth-of-type(1){
	transform: rotate(45deg) translate(6px, 7px);
}
#menubar_hdr.ham span:nth-of-type(3){
	transform: rotate(-45deg) translate(6px, -7px);
}
#menubar_hdr.ham span:nth-of-type(2){
	display: none;
}

main {
	flex: 1;
}
main h2 {
	font-size: 2.5rem;
	margin: 0;
	margin-bottom: 1.5rem;
	position: relative;
	letter-spacing: 0.5rem;
	border-bottom: 3px solid #f5f5f5;
}
main h2 .uline {
	display: inline-block;position: relative;
	padding: 0 20px;
	bottom: -3px;
}
main h2 .uline::before {
	content: "";position: absolute;bottom: 0px;left: 0px;width: 100%;
	height: 3px;
	background: var(--main-color);
	transition: 1s 0.5s;
	transform: scaleX(0);
	transform-origin: left top;
}
main h2.linestyle .uline::before {
	transform: scaleX(1);
}
main h3 {
	font-size: 1.8rem;
	padding: 0 20px;
	margin-bottom: 1em;
	border-bottom: 1px solid #ddd;
}
main p {
	margin: 0 20px 2em;
}
main p + p {
	margin-top: -1em;
}
.c2 {
	display: flex;
	flex-direction: column;
	padding: 5%;
}
.main section {
	padding: 0;
}
.main section:not(:nth-of-type(1)) {
	padding-top: 5%;
}
.main {
	order: 2;
}
.sub {
	order: 1;
}
.sub h3 {
	font-weight: normal;
	font-size: 1.5rem;
	margin: 0;
	border: none;
	background: var(--main-color);
	color: #fff;
	text-align: center;
}
ul.submenu {
	list-style: none;
	padding: 0;margin: 0;
	margin-bottom: 20px;
	border-top: solid 1px #ccc;
}
ul.submenu li {
	display: block;margin: 0;
	border-bottom: solid 1px #ccc;
}
ul.submenu li a {
	text-decoration: none;display: block;
	padding: 5px 10px;
}
ul.submenu li a:hover {
	background: #f0f0f0;
}
.caution {
    position: relative;
    padding: 1rem;
    margin-bottom: 0.2rem;
    background: #ffef86;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
}
.caution::before,
.caution::after {
    position: absolute;
    height: 100%;
    width: 0.5rem;
    content: '';
    background: repeating-linear-gradient(45deg, black 0, black 4px, #ffef86 4px, #ffef86 8px);
}
.caution::before {
    top: 0;
    left: 0;
}
.caution::after {
    bottom: 0;
    right: 0;
}
footer small {font-size: 0.8rem;}
footer {
	font-size: 1.2rem;
	text-align: center;
	background: var(--main-color);
	color: #fff;
}
footer a {text-decoration: none;color: #fff;}
.pr {display: block;}
.copy {padding: 0.5%;}
#footermenu {
	margin: 0;
	padding: 1%;
}
#footermenu li {
	display: inline-block;
	padding: 0 10px;
	font-size: 1.2rem;
}
.faq {
	padding: 0 5px;
}
.faq dt {
	border-radius: 3px;
	margin-bottom: 20px;
	background: linear-gradient(#fff, #f7f7f7);
	text-indent: -2em;
	padding: 5px 1em 5px 3em;
	border: 1px solid #e4e2d7;
}
.faq dt::before {
	font-family: "Font Awesome 5 Free";
	content: "\f059";
	color: var(--main-color);
	padding-right: 1em;
}
.faq dd {
	padding: 5px 1em 30px 3em;
}
.openclose {
	cursor: pointer;
}
.faq dt span {text-indent: 0;}
p.btn {margin: 0;}
.btn {
	text-align: center;
	padding: 12px;
}
.btn a,
.btn input {
	display: inline-block;text-decoration: none;border: none;
	font-size: 1.2rem;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
	background: var(--main-color);
	letter-spacing: 0.1em;
	color: #fff;
	transition: 0.3s;
	padding: 1em 2em;
	margin: 0 auto;
}
.btn a:hover,
.btn input:hover {
	cursor: pointer;
	opacity: 1;
	filter: brightness(1.2);
	transform: scale(1.02);
}
.rev-btn {
	text-align: left;
}
.rev-btn a,
.rev-btn input {
	display: inline-block;text-decoration: none;border: none;
	font-size: 1.2rem;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
	background: var(--main-color);
	letter-spacing: 0.1em;
	color: #fff;
	transition: 0.3s;
	padding: 1em 2em;
	margin: 0 auto;
}
.rev-btn a:hover,
.rev-btn input:hover {
	cursor: pointer;
	opacity: 1;
	filter: brightness(1.2);
	transform: scale(1.02);
}
.list-am-btn {
	border: none;
	width: 62px;
	padding: 5px 0;
	margin-right: 3px;
	border-radius: 3px;
	background-color: #1976d2;
}
.list-am-btn-text {
	display: inline-block;
	text-decoration: none;
	color: #ffffff;
	font-size: 11px;
	letter-spacing: 0;
	transform: scaleX(1.1);
}
button.list-dev-btn {
	border: none;
	width: 62px;
	padding: 5px 0 5px 0;
	margin: 0;
	margin-right: 3px;
	border-radius: 3px;
	white-space: nowrap;
	font-size: 0;
	text-align: center;
	background-color: #008020;
}
.list-dev-btn-text {
	display: inline-block;
	text-decoration: none;
	color: #ffffff;
	margin: 0;
	font-size: 11px;
	letter-spacing: -0.5px;
	transform: scaleX(0.7);
}
.list .btn a {
	margin: 0;
}
.pagetop-show {display: block;}
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;
	right: 20px;
	bottom: 20px;
	color: #fff;
	font-size: 1.5rem;
	background: rgba(0,0,0,0.2);
	width: 60px;
	line-height: 60px;
	border-radius: 50%;
}
.bg1 {
	background: #111;
	color: #fff;
}
.bg1 a {
	color: #fff;
}
.clearfix::after {content: "";display: block;clear: both;}
.color-theme, .color-theme a {color: var(--main-color) !important;}
.color-check, .color-check a {color: #f00 !important;}
.c {text-align: center !important;}
.ws {width: 95%;display: block;}
.wl {width: 95%;display: block;}
.mb30 {margin-bottom: 30px !important;}
.mt30 {margin-top: 30px !important;}
.look {display: inline-block;padding: 0px 10px;background: var(--main-font-color); color: #fff; border-radius: 3px;margin: 5px 0; word-break: break-all;}
.look .color-check {color: #ffcc00 !important;}
.small {font-size: 0.8rem;}
.pc {display: none;}

@media screen and (min-width:400px) {
	.home header #logo {
		padding-top: 5%;
	}
}
@media screen and (min-width:600px) {
	.home header #logo {
		width: 40%;
		padding-top: 10%;
	}
	.list {
		display: flex;
		justify-content: space-between;
	}
	.list ul li {
		font-size: 1.2rem;
		color: var(--main-font-color);
	}
	.list figure {
		width: 30%;
		margin-right: 5%;
	}
	.list .text {
		flex: 1;
		margin-right: 5%;
		margin-bottom: 20px;
	}
}

@media screen and (min-width:800px) {
	html, body {
		font-size: 62.5%;
	}
	.home header #logo {
		left: 10%;
		padding-top: 13%;
	}
	#logo-right ul {
		margin: 10px 0;
		display: flex;
		justify-content: space-around;
		line-height: 1.6;
	}
	#logo-right ul li {
		flex: 1;
		font-size: 1.3rem;
	}
	#menubar ul {
		margin: 0;
		display: flex;
		justify-content: space-around;
		line-height: 1.6;
	}
	#menubar ul li {
		flex: 1;
	}
	#logo-right .ddmenu_parent{
		position: relative;
	}
	#logo-right .ddmenu_parent ul {
		position: absolute;
		z-index: 100;
		width: 100%;
	}
	#menubar .ddmenu_parent{
		position: relative;
	}
	#menubar .ddmenu_parent ul {
		position: absolute;
		z-index: 100;
		width: 100%;
	}
	#menubar_hdr {display: none;}
	.c2 {
		flex-direction: row;
		justify-content: space-between;
	}
	.main {
		width: calc(100% - 250px);
	}
	.sub {
		width: 200px;
	}
	.ws {width: 48%;display: inline;}
	.sh {display: none;}
	.pc {display: block;}
}

@media screen and (max-width:428px) {
	html, body {
		font-size: 56.25%;
	}
	main h2 {
		font-size: 2rem;
	}
	.only-pc {
		display: none;
	}
}
