@charset "utf-8";
@import url("all.min.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
/* CSS Document */

/**************************************************************************************************
CLEARFIX CLASS
**************************************************************************************************/
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}


/* LINK
-------------------------------------------------------------------------------------------------*/
a:link,
a:active,
a:visited {
	color : #002aff;
	text-decoration : none;
}
a:hover,
a:focus {
	color : #555;
	text-decoration : none;
}
a:hover img.ov, a:focus img.ov {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

/* OUTLINE
-------------------------------------------------------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
}
body {
	color: #000;
	margin: 0px;
	padding: 0px;
	font: 15px/1.6 "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic",Arial, Helvetica,  sans-serif;
	background-color: #f2f2f2;
	-webkit-text-size-adjust: 100%;
}
ul{
	list-style-type: none;
}
img {
	border:none;
	display: inline-block;
	max-width: 100%;
	height: auto;
}
hr {
	height: 0;
	margin: 1em 0;
	padding: 0;
	border: 0;
	border-top: 1px solid #ccc;
}


/* PC SP
-------------------------------------------------------------------------------------------------*/
.pcOnly {
	display: block!important;
}
.spOnly {
	display: none!important;
}


/* HEADER
-------------------------------------------------------------------------------------------------*/
header {
	border-bottom: 6px solid #00d5e4;
	padding: 32px 0;
}
header > h1 {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	line-height: 1;
}

/* FOOTER
-------------------------------------------------------------------------------------------------*/
footer > div.bg_white > ul {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 32px 0;
	display: table;
}
footer > div.bg_white > ul > li {
	display: table-cell;
	vertical-align: middle;
}
footer > div.bg_white > ul > li:first-child {
	width: 25%;
}
footer > div.bg_white > ul > li:last-child > span {
	font-size: 1.2em;
	font-weight: bold;
	letter-spacing: -0.05em;
}
a.pagetop {
	display: block;
	position: fixed;
	right: 24px;
	bottom: 88px;
	width: 48px;
	height: 48px;
	padding: 0;
	z-index: 1;
}
a.pagetop > i {
	font-size: 48px;
	color: rgba(0,213,228,.7);
}
a.pagetop:hover > i {
	color: rgba(0,213,228,1);
}
.copyright {
	width: 100%;
	padding: 16px 0;
	text-align: center;
	color: #fff;
	background: #4e4e4e;
}
/*
.bottomLink {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 48px;
}
*/
.bottomLink > ul > li {
	display: inline-block;
	margin-right: 2em;
	border-bottom: 1px solid #888787;
}
.bottomLink > ul > li:hover {
	border-bottom: none;
}
.ottomLink > ul >li > a {
	color: #595757;
}
.bottomLink > ul >li > a::before {
	content: '〉〉';
	padding-right: .5em;		
	letter-spacing: -.5em;
	font-size: .4em;
	position: relative;
	bottom: .1em;
}


/* CONTENTS
-------------------------------------------------------------------------------------------------*/
#Contents {
	padding: 48px 0;
}
.wrapper {
	width: 96%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}
.wrapper2 {
	width: 95%;
	max-width: 850px;
	margin: 0 auto;
	position: relative;
}
h2 {
	font-weight: bold;
	font-size: 6em;
	color: #0075E4;
	text-align: center;
	line-height: 1.2;
	padding: 0;
}
h3 {
	font-weight: bold;
	font-size: 2.3em;
	text-align: center;
	margin-bottom: 1em;
}
h4 {
	font-weight: normal;
	font-size: 3.3em;
	position: relative;
	display: inline-block;
	margin: 100px 0;
	text-shadow: 0 0 2px white;
}
h4:before {
	content: "";
	position: absolute;
	background: #fff;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	z-index: -1;
}
h5 {
	font-size: 2.4em;
	line-height: 1.2;
	letter-spacing: .1em;
}
h6 {
	font-size: 2.6em;
	color: #00d5e4;
	position: relative;
	display: inline-block;
	width: 850px;
	margin: 64px auto 0;
}
h6:before, h6:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: calc(50% - 4em);
	height: 6px;
	background-color: #00d5e4;
}
h6:before {
	left:0;
}
h6:after {
	right: 0;
}
#Contents p {
	margin-bottom: 1em;
}
 p.txtBox {
	text-indent: 1em;
}
.bgBox {
	border-radius: 16px;
	padding: 16px;
}
#mainimg > img {
	display: block;
	margin: 0 auto;
}
#maincopy {
	background:linear-gradient(45deg, #0075E4 0%, #0075E4 50%, #00D5E4 80%, #00D5E4 100%);
	padding: 6vw 0;
	font-size: 3vw;
	line-height: 2;
	color: #fff;
}
#maincopy > div > span {
	border: .1em solid #fff;
	padding: .2em .5em;
}
.descri {
	width: 98%;
	max-width: 850px;
	margin: 60px auto;
	font-size: 2.2em;
	text-align: left;
}
.descri > p span {
	background:linear-gradient(transparent 60%, #00d5e4 60%);
}
a.button {
	display: inline-block;
	line-height: 1;
	margin: 0 auto;
	color: #fff;
	font-size: 3em;
	border-radius: .5em;
}
a.button::after {
	content: '〉〉';
	padding-left: .3em;
	letter-spacing: -.5em;
	font-size: .8em;
	position: relative;
	bottom: .1em;
}
a.button.pd1 {
	padding: .8em 1.2em;
}
a.button.pd2 {
	padding: 1em;
	width: 96%;
	max-width: 850px;
	margin: 0 auto;
	display: block;
}
a.button.blue {
	background: #00d5e4;
}
a.button.blue:hover {
	background: #0075e4;
}
a.button.orange {
	background: #fa4617;
}
a.button.orange:hover {
	background: #f96c47;
}

.fukidashi {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: .2em .5em;
	min-width: 8em;
	max-width: 100%;
	color: #0075e4;
	font-size: 3em;
	font-weight: bold;
	line-height: 1;
	background: #FFF;
	border: solid 5px #0075e4;
	border-radius: .3em;
	box-sizing: border-box;	
}
.fukidashi:before {
	content: "";
	position: absolute;
	bottom: -35px;
	left: 50%;
	margin-left: -19px;
	border: 19px solid transparent;
	border-top: 19px solid #FFF;
	z-index: 2;
}
.fukidashi:after {
	content: "";
	position: absolute;
	bottom: -48px;
	left: 50%;
	margin-left: -24px;
	border: 24px solid transparent;
	border-top: 24px solid #0075e4;
	z-index: 1;
}
#intro > dl {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	background: #0075e4;
	border: 10px solid #0075e4;
	color: #fff;
	margin-top: 40px;
}
#intro > dl:nth-child(even) {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
#intro > dl > dt {
	-ms-flex-preferred-size: 63.2%;
	flex-basis: 63.2%;
}
#intro > dl > dt > img {
	display: block;
	width: 100%;
	max-width: 632px;
	height: auto;
}
#intro > dl > dd {
	-ms-flex-preferred-size: 36.8%;
	flex-basis: 36.8%;
	padding: 20px;
}
#lineup:after {
	content: "";
	clear: both;
	display: block;
}
#lineup > div {
	width:47.5%;
	padding: 92px 0;
	border-radius: 24px;
	color: #fff;
	text-align: center;
	font-size: 1.4em;
}
#lineup > div:first-child {
	float: left;
	background:linear-gradient(-45deg, #00d4e3 0%, #007ddd 100%);
}
#lineup > div:last-child {
	float: right;
	background:linear-gradient(-45deg, #00b1dc 0%, #0078e0 50%, #00b1dc 100%);
}
#lineup > div > p:last-child {
	margin-bottom: 0;
	padding: 32px 20%;
	text-align: left;
}
.d_shadow {
	filter: drop-shadow( 8px 8px 4px rgba(0,0,0,.4));
}
ul#itemBox {
	width: 90%;
	max-width: 850px;
	margin: 0 auto;
}
ul#itemBox:after {
	content: "";
	clear: both;
	display: block;
}
ul#itemBox > li {
	float: left;
	width: 48%;
	font-size: 1.25em;
	text-align: left;
	padding: 40px 32px 30px;
	margin-top: 50px;
	background: #fff;
	border: 3px solid #00d5e4;
	border-radius: 24px;
}
ul#itemBox > li:nth-child(even) {
	float: right;
}
ul#itemBox > li > p:first-child {
	text-align: center;
}
ul#itemBox > li > p:nth-child(2) {
	text-align: center;
	font-size: 1.7em;
	font-weight: bold;
	color: #00d5e4;
}
div.line {
	height: 72px;
	border: 20px solid #00d5e4;
	border-top: none;
}
ul#functionBox {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
ul#functionBox:after {
	content: "";
	clear: both;
	display: block;
}
ul#functionBox > li {
	float: left;
	width: 30%;
	font-size: 1.25em;
	text-align: left;
	padding: 32px 24px 16px;
	margin: 0 5% 50px 0;
	background: #fff;
	border-radius: 24px;
}
ul#functionBox > li:nth-child(3n+3) {
	margin-right: 0;
}
ul#functionBox > li > p:first-child {
	text-align: center;
}
ul#functionBox > li > p:nth-child(2) {
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;
	color: #00d5e4;
}

/* CONTACT
-------------------------------------------------------------------------------------------------*/
.form > table {
	width: 100%;
	border: none;
}
.form > table tr,
.form > table th,
.form > table td {
	border: none;
	background: none;
	font-weight: normal;
	text-align: left;
}
.form > table tr {
	border-bottom: 1px solid #ccc;
}
.form > table tr:first-child {
	border-top: 1px solid #ccc;
}
.form > table th {
	padding: 1em 1em 1em 0;
	width: 25%;
}
.form > table td {
	padding: 1em 0;
	width: 75%;
}
.form > table input[type="text"],
.form > table input[type="email"],
.form > table textarea {
	width: 500px;
	padding: .5em;
	margin-right: .5em;
}
.form > table td.name input[type="text"] {
	width: 180px;
}
.form > table input[type="email"] {
	margin-top: .5em;
}
.form > table textarea {
	height: 6em;
}
.form > table label {
	display: inline-block;
	margin-right: 1em;
}
.required {
	display: inline-block;
	padding: .1em .5em;
	background: #ff1b46;
	color: #fff;
	font-size: 86%;
	margin-left: .5em;
}
.error {
	color:#ff0000;
	font-size: 90%;
	display: block;
}
.form button {
	display: block;
	margin: 16px auto;
	padding: .4em 1em;
	border: none;
	border-radius: 2em;
	background: #00d5e4;
	color: #fff;
	font-size: 120%;
	cursor: pointer;
}
.form button:hover {
	background: #5797dc;
}
.form button.return {
	background: #666;
}
.form button.return:hover {
	background: #888;
}
.form button.ck {
	display: inline-block;
}





/* TABLE
-------------------------------------------------------------------------------------------------*/
table {
	border-collapse:collapse;
	font-size: 1em;
	border-spacing: 0;
}
th, td {
	border:1px solid #789cb4;
	padding: .5em 1em;
	word-break:break-all;
}
caption {
	text-align:left;
	font-weight:bold;
	color: #3d7ea9;
	font-size: 1.2em;
}
thead th {
	background:#226fc1;
	color: #fff;
}
thead td {
	background:#bad9fa;
	color: #000;
	text-align:center;
}
tfoot th {
	background:#feffa4;
}
tfoot td {
	background:#ffffdd;
}
tbody th {
	background:#eee;
}


/* COMMON
-------------------------------------------------------------------------------------------------*/
/* TEXT */
.fs72 { font-size:4.8em; }
.fs40 { font-size:2.6em; }
.fs36 { font-size:2.4em; }
.fs32 { font-size:2.1em; }
.fs24 { font-size:1.6em; }
.fs20 { font-size:1.4em; }
.fs16 { font-size:1.1em; }
.fs12 { font-size:0.9em; }
.fs11 { font-size:0.8em; }
.fsMini { font-size:0.55em; }
.txt_center { text-align:center!important; }
.txt_left { text-align:left!important; }

.bg_white { background: #fff; }

/* -- MARGIN / PADDING --*/
.mar_l0{ margin-left:0px!important; }
.mar_l4{ margin-left:4px!important; }
.mar_l8{ margin-left:8px!important; }
.mar_l12{ margin-left:12px!important; }
.mar_l16{ margin-left:16px!important; }
.mar_l22{ margin-left:22px!important; }
.mar_l24{ margin-left:24px!important; }
.mar_l32{ margin-left:32px!important; }
.mar_l40{ margin-left:40px!important; }
.mar_l48{ margin-left:48px!important; }
.mar_l56{ margin-left:56px!important; }

.mar_r0{ margin-right:0px!important; }
.mar_r4{ margin-right:4px!important; }
.mar_r8{ margin-right:8px!important; }
.mar_r12{ margin-right:12px!important; }
.mar_r16{ margin-right:16px!important; }
.mar_r24{ margin-right:24px!important; }
.mar_r32{ margin-right:32px!important; }
.mar_r40{ margin-right:40px!important; }
.mar_r48{ margin-right:48px!important; }
.mar_r56{ margin-right:56px!important; }

.mar_t0{ margin-top:0!important; }
.mar_t4{ margin-top:4px!important; }
.mar_t8{ margin-top:8px!important; }
.mar_t12{ margin-top:12px!important; }
.mar_t16{ margin-top:16px!important; }
.mar_t24{ margin-top:24px!important; }
.mar_t32{ margin-top:32px!important; }
.mar_t40{ margin-top:40px!important; }
.mar_t48{ margin-top:48px!important; }
.mar_t56{ margin-top:56px!important; }
.mar_t64{ margin-top:64px!important; }
.mar_t80{ margin-top:80px!important; }
.mar_t148{ margin-top:148px!important; }

.mar_b0{ margin-bottom:0!important; }
.mar_b4{ margin-bottom:4px!important; }
.mar_b8{ margin-bottom:8px!important; }
.mar_b12{ margin-bottom:12px!important; }
.mar_b16{ margin-bottom:16px!important; }
.mar_b24{ margin-bottom:24px!important; }
.mar_b32{ margin-bottom:32px!important; }
.mar_b40{ margin-bottom:40px!important; }
.mar_b48{ margin-bottom:48px!important; }
.mar_b56{ margin-bottom:56px!important; }

.mar_tb0{ margin-top:0!important; margin-bottom:0!important; }
.mar_tb16{ margin-top:16px!important; margin-bottom:16px!important; }
.mar_tb24{ margin-top:24px!important; margin-bottom:24px!important; }
.mar_tb40{ margin-top:40px!important; margin-bottom:40px!important; }
.mar_tb48{ margin-top:48px!important; margin-bottom:48px!important; }

.mar_lrauto { margin-left:auto; margin-right:auto; }

.pad_l0{ padding-left:0px!important; }
.pad_l4{ padding-left:4px!important; }
.pad_l8{ padding-left:8px!important; }
.pad_l12{ padding-left:12px!important; }
.pad_l16{ padding-left:16px!important; }
.pad_l24{ padding-left:24px!important; }
.pad_l32{ padding-left:32px!important; }
.pad_l40{ padding-left:40px!important; }
.pad_l48{ padding-left:48px!important; }
.pad_l56{ padding-left:56px!important; }
.pad_l72{ padding-left:72px!important; }

.pad_r0{ padding-right:0px!important; }
.pad_r4{ padding-right:4px!important; }
.pad_r8{ padding-right:8px!important; }
.pad_r12{ padding-right:12px!important; }
.pad_r16{ padding-right:16px!important; }
.pad_r24{ padding-right:24px!important; }
.pad_r32{ padding-right:32px!important; }
.pad_r40{ padding-right:40px!important; }
.pad_r48{ padding-right:48px!important; }
.pad_r56{ padding-right:56px!important; }
.pad_r72{ padding-right:72px!important; }

.pad_t0{ padding-top:0px!important; }
.pad_t4{ padding-top:4px!important; }
.pad_t8{ padding-top:8px!important; }
.pad_t12{ padding-top:12px!important; }
.pad_t16{ padding-top:16px!important; }
.pad_t24{ padding-top:24px!important; }
.pad_t32{ padding-top:32px!important; }
.pad_t40{ padding-top:40px!important; }
.pad_t48{ padding-top:48px!important; }
.pad_t56{ padding-top:56px!important; }

.pad_b0{ padding-bottom:0px!important; }
.pad_b4{ padding-bottom:4px!important; }
.pad_b8{ padding-bottom:8px!important; }
.pad_b12{ padding-bottom:12px!important; }
.pad_b16{ padding-bottom:16px!important; }
.pad_b24{ padding-bottom:24px!important; }
.pad_b32{ padding-bottom:32px!important; }
.pad_b40{ padding-bottom:40px!important; }
.pad_b48{ padding-bottom:48px!important; }
.pad_b56{ padding-bottom:56px!important; }
.pad_b64{ padding-bottom:64px!important; }

.pad_tb8{ padding-top:8px!important; padding-bottom:8px!important; }
.pad_tb20{ padding-top:20px!important; padding-bottom:20px!important; }
.pad_tb40{ padding-top:40px!important; padding-bottom:40px!important; }
.pad_tb48{ padding-top:48px!important; padding-bottom:48px!important; }

.pad_al8 {padding:8px!important; }
.pad_al16 {padding:16px!important; }
.bottomLink {
}
