@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;700&display=swap');

/* CSS Document */


/* 
------------------------------------------------------------------------------------------------------------------------
Set out
------------------------------------------------------------------------------------------------------------------------
*/

*:not(select):not(input), *:before, *:after {
    margin: 0;
    padding: 0;
	border: 0;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
html, body {
	width:100%;
	margin:0;
	padding:0;
	overflow-x:hidden;
}
body {
	font-size:18px;
	font-family: 'Noto Sans JP', sans-serif;
	line-height:1.4;
	font-weight: 500;
	color:#000;
	-webkit-text-size-adjust: 100%;
	text-align: justify;
}

.clearfix:after {
    content:"";
    display:block;
    clear:both;
}
.clear {
	clear:both;
}

li {
	list-style-type:none;
}
img {
	max-width:100%;
	height: auto;
	margin:0;
	padding:0;
	vertical-align:bottom;
	transition:.3s;
}
a {
	text-decoration:none;
	color:#000;
	transition:.3s;
}
a:hover {
	opacity:0.8;
	text-decoration:border;
	transition:.3s;
	color:#006EAD;
}
a.bt_blue {
	text-decoration:underline;
	color:#006EAD;
	transition:.3s;
}
a.bt_blue:hover {
	opacity:0.8;
	text-decoration:border;
	transition:.3s;
	color:#27ACFF;
}
a:hover img{
	opacity:0.8;
	transition:.3s;
}
h1,h2,h3,h4,h5,h6 {
	font-weight:bold;
	letter-spacing:normal;
	text-align: center;
	font-family: 'Helvetica', 'Noto Sans JP';
}
h1 a:hover img {
	opacity:1;
}

h2 {
	font-size: 50px;
}

img {
	width:100%;
	height:auto;
}

.align {
	text-align:center!important;
}
.align_left {
	text-align:left!important;
}
.align_right {
	text-align:right!important;
}

.bold {
	font-weight:bold;
}
.font_s {
	font-size:12px;
}
p.cau {
	font-size:16px;
	font-weight: 300;
}
.mb0 {margin-bottom:0px!important;}

.mb10 {margin-bottom:10px!important;}

.mb15 {margin-bottom:15px!important;}
.mb20 {margin-bottom:20px!important;}
.mb30 {margin-bottom:30px!important;}
.mb50 {margin-bottom:50px!important;}
.mb60 {margin-bottom:60px!important;}
.mb70 {margin-bottom:70px!important;}
.mb80 {margin-bottom:80px!important;}
.mb100 {margin-bottom:100px!important;}
.mb200 {margin-bottom:200px!important;}
.pb30 {padding-bottom:30px!important;}
.pt30 {padding-top:30px!important;}
.pt50 {padding-top:50px!important;}

.in {display:none;}
.in2 {display:none;}

.fs12 {font-size:12px!important;}
.fs20 {font-size:20px!important;}
.lineheight3 {line-height: 3.0!important;}
.blue {
	color:#006EAD;
}

.w50 {width:50%!important;}
.w60 {width:60%!important;}
.w70 {width:70%!important;}
.w80 {width:80%!important;}
.w90 {width:90%!important;}

.doubleBox{
	width:100%;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

@media screen and (max-width:962px){
	body {
		font-size:16px;
	}
	p.cau {
		font-size:12px;
	}
	.in {display:block;}
	.out {display:none;}
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
			pointer-events: none;
	}
}


/* 
------------------------------------------------------------------------------------------------------------------------
Layout 
------------------------------------------------------------------------------------------------------------------------
*/


.wrap {
	width:90%;
	margin-left:auto;
	margin-right:auto;
	box-sizing:content-box;
}




/* 
------------------------------------------------------------------------------------------------------------------------
header
------------------------------------------------------------------------------------------------------------------------
*/
header{
	position: relative;
	width: 100%;
	background-image: url("../images/common/head.png");
	background-repeat: no-repeat;
	background-position: top;
	background-size: 100% 15px;
	margin: 0;
	z-index: 1000;
}
header ul{
	width:90%;
	margin: 0 auto 0 auto;
	display: flex;
	flex-wrap: nowrap;
	justify-content:space-between;
	align-items: center;
	padding-top:31px;
}

header p.logo img{
	width:auto;
	height: 42px;
}
header p.invented img{
	width:115px;
}

@media screen and (max-width:962px){

	header{
		background-image: url("../images/common/head_sp.png");
	}

}

/* 
------------------------------------------------------------------------------------------------------------------------
Footer
------------------------------------------------------------------------------------------------------------------------
*/

ul.topBtn {
	display: none;
}

footer {
	position: relative;
	display: block;
	z-index: 0;
}

div.footInner {
	width:100%;
	max-width:600px;
	background:#fff;
	margin: 0 auto;
}
ul.insta {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	padding: 20px;
	background:#71767C;
	font-size:18px;
	font-weight: bold;
	color:#fff;
}
ul.insta li:first-child {
	margin-right:40px;
}
ul.insta li:first-child img {
	width: 56px;
}

div.footLogo {
	color: #71767C;
	text-align: center;
	font-size:18px;
	font-weight: bold;
	margin-top:60px;
}
div.footLogo img {
	width:220px;
}
div.footLogo p.footLink {
	margin-top:80px;
}
div.footLogo p.footLink a {
	position: relative;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	transition: all .4s;
	border:1px solid #71767C;
	background: #71767C;
	border-radius: 50px;
	padding:18px 100px 18px 25px;
}
div.footLogo p.footLink a:hover {
	color: #fff;
	opacity: 1.0;
	transition: all .4s;
}
div.footLogo p.footLink a::after {
	position: absolute;
	top:20px;
	right:20px;
	content: '';
  background-image: url("../images/common/arrow01.png");
	background-size:cover;
	width:24px;
	height:24px;
	transition: all .2s;
}
div.footLogo p.footLink a:hover::after {
	right:10px;
	transition: all .2s;
}

div.footBottom {
	margin-top:45px;
	text-align: center;
	color: #71767C;
	padding-bottom:50px;
}
div.footBottom p.tts {
	font-weight: bold;
	font-size:14px;
}
div.footBottom p.ttl {
	font-weight: bold;
	font-size:18px;
}
div.footBottom ul {
	margin:50px auto;
	width:190px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
div.footBottom ul li {
	width:25%;
}
div.footBottom p.copyright {
	font-weight: bold;
	font-size:11px;
}

@media screen and (max-width:962px){

	footer {
		max-width:none;
	}
	ul.topBtn {
		position: fixed;
		width: 100%;
		left:0;
		bottom:0;
		display: flex;
		flex-wrap: nowrap;
		z-index: 1000;
	}
	ul.topBtn li {
		display: flex;
		align-items: center;
		width:50%;
		line-height: 1.4;
	}
	ul.topBtn li a {
		display: block;
		width: 100%;
		font-size:20px;
		font-weight: bold;
		color: #fff;
		padding: 20px;
	}
	ul.topBtn li:first-child a {
		text-align: center;
		background: #006EAD;
	}
	ul.topBtn li:last-child a {
		text-align: left;
		background-color: #71767C;
		background-image: url("../images/common/insta.png");
		background-repeat: no-repeat;
		background-size:37px 37px;
		background-position: center right 20px;
	}


}




/* 
------------------------------------------------------------------------------------------------------------------------
top
------------------------------------------------------------------------------------------------------------------------
*/

div.mainPc {
	position: fixed;
	top:0;
	left:0;
	width:100%;
	height:100vh;
  background-color: #fff;
	background-image: url("../images/common/bg_pc.jpg");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	z-index: 0;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}

div.mainPcLeft {
	position: relative;
	width: calc((100vw - 600px) / 2);
	z-index: 1000;
}
div.mainPcLeftInner {
	width:80%;
	margin: auto;
	text-align: center;
}
div.mainPcLeft p.finish img {
	width:80%;
	max-width:220px;
	margin-bottom:30px;
}
div.mainPcLeft p.tts {
	font-size:24px;
	font-weight: bold;
	color: #006EAD;
	text-align: center;
}
div.mainPcLeft p.copy {
	font-size:24px;
	font-weight: bold;
	color: #006EAD;
	text-align: center;
}
div.mainPcLeft p.copy strong {
	font-size:44px;
}
div.mainPcLeftInner a {
	display: block;
	width:90%;
	max-width:250px;
	color:#fff;
	text-align: center;
	font-size:20px;
	font-weight: bold;
	background: #006EAD;
	padding: 7px;
	border-radius: 50px;
	margin:0 auto 20px auto;
}
div.mainPcLeftInner a:hover {
	opacity: 1.0;
}
div.mainPcLeftInner p:not(:last-child) {
  margin-bottom: 20px; /* 最後の段落以外の下に20ピクセルの余白を追加 */
}


div.mainPcRight {
	position: relative;
	width: calc((100vw - 600px) / 2);
	z-index: 1000;
}
div.mainPcRightInner {
	width:90%;
	margin: auto;
	text-align: center;
}
div.mainPcRightInner p {
	text-align: center;
}
div.mainPcRightInner a {
	display: block;
	width:90%;
	max-width:250px;
	color:#fff;
	text-align: center;
	font-size:20px;
	font-weight: bold;
	background: #006EAD;
	padding: 7px;
	border-radius: 50px;
	margin:0 auto 20px auto;
}
div.mainPcRightInner a:hover {
	opacity: 1.0;
}


@media screen and (max-width:1290px){

	div.mainPcLeft p.tts {
		font-size:16px;
	}
	div.mainPcLeft p.copy {
		font-size:18px;
	}
	div.mainPcLeft p.copy strong {
		font-size:24px;
	}
	div.mainPcRightInner a {
		font-size:16px;
	}

}

@media screen and (max-width:1100px){

	div.mainPcLeft p.tts {
		font-size:16px;
	}
	div.mainPcLeft p.copy {
		font-size:16px;
	}
	div.mainPcLeft p.copy strong {
		font-size:22px;
	}

}

@media screen and (max-width:962px){

	div.mainPc{
		display: none;
	}

}


div.mainContent {
	position: relative;
	width:100%;
	max-width: 600px;
	margin: -52px auto 0 auto;
	background:#fff;
	padding-top:100px;
	z-index: 1;
}
div.mainContent div.mcopy {
	position: relative;
	z-index: 1;
}
div.mainContent h1 {
	font-size:30px;
	font-weight: bold;
	color: #006EAD;
	text-align: center;
}
div.mainContent p.copy {
	font-size:35px;
	font-weight: bold;
	color: #006EAD;
	text-align: center;
}
div.mainContent p.copy strong {
	font-size:63px;
}
div.mainContent div.mv {
	position: relative;
	margin-top:-40px;
	z-index: 0;
}
div.reason {
	margin-top:25px;
}
div.reason h2 {
	font-weight: bold;
	font-size:50px;
	color: #006EAD;
	line-height: 1.1;
	margin-bottom:50px;
}
div.reason h2 span {
	font-size:28px;
}
div.reason h2 strong {
	font-size:88px;
}
div.reasonBlock + div.reasonBlock {
	margin-top:75px;
}
.balloon1 {
  position: relative;
  display: inline-block;
  margin: 0 0 50px 0;
  padding: 25px 20px;
  min-width: 120px;
  width: 100%;
  color: #fff;
  background: #006EAD;
}
.balloon1:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -20px;
  border: 20px solid transparent;
  border-top: 20px solid #006EAD;
}
.balloon1 h3 {
  margin: 0;
  padding: 0;
	font-size:28px;
	font-weight: bold;
}
.balloon1 h3 span {
	font-size:24px;
}
.reason_gray_block {
	background: #71767C;
	padding:20px;
	color: #fff;
}
.reasonBlock h4 {
	font-size:18px;
	font-weight: bold;
	text-align: center;
	color: #006EAD;
	margin:35px 0 20px 0;
}
.youtube {
	position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

div.howBlock {
	background: #EFF1F2;
	margin-top:100px;
}
div.howBlockInner {
	padding: 20px 0;
}
.balloon2 {
  position: relative;
  display: inline-block;
  margin: 0 0 30px 0;
  padding: 25px 20px;
  min-width: 120px;
  width: 100%;
  color: #fff;
  background: #71767C;
}
.balloon2:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -20px;
  border: 20px solid transparent;
  border-top: 20px solid #71767C;
}
.balloon2 h3 {
  margin: 0;
  padding: 0;
	font-size:21px;
	font-weight: normal;
}
.balloon2 h3 strong {
	font-size:28px;
	font-weight: bold;
}
div.howBlock p.copy01 {
	color: #006EAD;
	margin-bottom:60px;
	font-size:37px;
	font-weight: bold;
	text-align: center;
}
div.howBlock p.copy02 {
	color: #006EAD;
	margin-bottom:40px;
	font-size:24px;
	font-weight: bold;
	text-align: center;
}
div.howBlock p.copy03 {
	color: #006EAD;
	margin-bottom:20px;
	font-size:20px;
	font-weight: bold;
	text-align: center;
}
div.howBlock p.how01 {
	text-align: center;
}
div.howBlock p.how01 img {
	max-width:210px;
}

div.introductionBlock {
	margin-top:70px;
}
.balloon3 {
  position: relative;
  display: inline-block;
  margin: 0 0 50px 0;
  padding: 25px 15px;
  min-width: 120px;
  width: 100%;
  color: #fff;
  background: #006EAD;
	border-radius: 10px;
}
.balloon3:before {
  content: "";
  position: absolute;
  top: 85%;
  right: 20%;
  border: 15px solid transparent;
  border-top: 56px solid #006EAD;
	-webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.balloon3 h3 {
  margin: 0;
  padding: 0;
	font-size:20px;
	font-weight: bold;
}
div.introductionBlock div.listBox {
	display: flex;
	justify-content: center;
	margin-bottom:50px;
}
div.introductionBlock ul.list li {
	font-weight: bold;
	font-size:28px;
	color:#006EAD;
	line-height: 2.0;
}
div.introductionBlock ul.list li::before {
	content:'✔';
	font-weight: bold;
	font-size:28px;
	color:#006EAD;
}
div.introductionBlock h3 {
	font-weight: bold;
	font-size: 24px;
	color:#fff;
	padding: 10px;
	background: #006EAD;
}
dl.interview {
	padding: 20px;
	background: #EFF1F2;
	border-radius: 10px;
	margin-bottom:30px;
}
dl.interview dt {
	margin-bottom:20px;
}
dl.interview dt ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
dl.interview dt ul li:first-child {
	width:36%;
	font-weight: bold;
}
dl.interview dt ul li:last-child {
	width:54%;
	font-weight: bold;
}
dl.interview dd p.more {
	text-align: right;
	margin-top:20px;
}
dl.interview dd p.more a {
	font-weight: bold;
	color: #006EAD;
}

div.faqBlock {
	background: #EFF1F2;
	margin-top:100px;
	padding-bottom:80px;
}
div.faqBlock h2 {
	font-size:32px;
	color: #006EAD;
	padding: 70px 0 50px 0;
}
div.faqBlock dl {
	margin-bottom:15px;
}
div.faqBlock dl dt {
	position: relative;
	font-size:15px;
	font-weight: bold;
	color:#fff;
	padding:20px 140px 20px 20px;
	background:#006EAD;
	cursor: pointer;
}
div.faqBlock dl dt span {
	position: absolute;
	width:37px;
	height:37px;
	border:1px solid #fff;
	font-size:36px;
	font-weight: 300;
	line-height: 1;
	padding-bottom:4px;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	bottom:10px;
	right:10px;
}
div.faqBlock dl dd {
	display: none;
	font-size:15px;
	padding:20px;
	background:#E6E6E6;
}

@media screen and (max-width:962px){

	div.mainContent{
		padding-top:100px;
		max-width: none;
	}
	div.mainContent h1 {
		font-size:24px;
	}
	div.mainContent p.copy {
		font-size:28px;
	}
	div.mainContent p.copy strong {
		font-size:50px;
	}

}

