@charset "UTF-8";
/* CSS Document */

*,*::before,*::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role='list'],ol[role='list']{list-style:none}body{min-height:100vh;line-height:1.5}h1,h2,h3,h4,button,input,label{line-height:1.1}h1,h2,h3,h4{text-wrap:balance}a:not([class]){text-decoration-skip-ink:auto;color:currentColor}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}

html{
	scroll-behavior: smooth;
}

body {
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	background:url("../img/bodybg.png") no-repeat fixed;
}

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


.forPC{
display:block;
}
.forSP{
display:none;
}



.wrap{
	width:1200px;
	background:#fff;
	margin:0px auto;
  box-shadow: -5px -5px 10px 0px rgba(255, 255, 255, 0.8), 5px 5px 10px 0px rgba(0, 0, 0, 0.3);
overflow:hidden;
}

.fv_bg{
	background:#003591;
}

header{
	position:relative;
}

#logo{
	padding:10px;
}

.header_tel{
	position:absolute;
	top:5px;
	right:10px;
	width:270px;
}

.telnum{
	font-size:40px;
	font-weight:bold;
	color:#cc0000;
  text-shadow:
  4px 4px 0px #ffffff, -4px -4px 0px #ffffff,
  -4px 4px 0px #ffffff,  4px -4px 0px #ffffff,
  4px 0 0px #ffffff, -4px  0 0px #ffffff,
  0 4px 0px #ffffff,  0 -4px 0px #ffffff;
	margin:0px;
	padding:0px;
}

.teltime{
	color:#ffffff;
	font-size:18px;
	text-align:center;
	margin:-10px 0px 0px -10px;
}

.fv{
	position:relative;
	height:550px;
}

.fv_chara{
	position:absolute;
	bottom:0px;
	right:0px;
}

h1{
	position:absolute;
	top:30px;
	left:110px;
}

.fv_under{
	position:absolute;
	bottom:-40px;
	left:0px;
}

.fv_medal{
	position:absolute;
	bottom:-80px;
	right:170px;
}

.cta_fvunder{
	position:absolute;
	bottom:-390px;
	left:100px;
	width:1000px;
}

.cta{
	width:1000px;
	margin:0px auto;
}

.cta_btn{
    display: flex;
    flex-direction: row;
}

.cta_btn p{
	margin: 0px 10px;
}

.tel_area{
	text-align:center;
}

.teltxt_main{
	font-size:40px;
	font-weight:bold;
	margin:20px auto 10px auto;
}

.telnum_main{
	font-size:120px;
	font-weight:bold;
	color:#cc0000;
  text-shadow:
  4px 4px 0px #ffffff, -4px -4px 0px #ffffff,
  -4px 4px 0px #ffffff,  4px -4px 0px #ffffff,
  4px 0 0px #ffffff, -4px  0 0px #ffffff,
  0 4px 0px #ffffff,  0 -4px 0px #ffffff;
	margin:-10px auto 5px auto;
	padding:0px;
	line-height:100%;
}

.teltime_main{
	font-size:30px;
	font-weight:bold;
}

.contents{
	margin:0px 0px 0px 0px;
	padding:30px 0px;
}

.firstcon{
	margin-top:400px;
}

.contents_title{
	width:754px;
	margin:0px auto 40px auto;
}

.block01{
	width:754px;
	margin:0px auto 30px auto;
}

.leftimage{
    display: flex;
    flex-direction: row;
}

.rightimage{
    display: flex;
    flex-direction: row-reverse;
}

.block01_exp_title{
    display: flex;
    flex-direction: row;
}

.block01_exp{
	width:500px;
}

.block01_num{
	font-size:90px;
	font-weight:bold;
	color:#003591;
	line-height:100%;
	margin:0px 10px 15px 0px;
}

.block01_tiltle{
	font-size:24px;
	font-weight:bold;
	line-height:150%;
	margin:12px 0px 0px 0px;
}

.bgb{
	background:#00caef;
	padding:70px 0px;
	margin:0px auto 50px auto;
}

.subpoint{
	width:1000px;
	margin:0px auto;
    display: flex;
    flex-direction: row;
}

.subpoint_box{
	width:27%;
	margin:0px 3%;
}

.subpoint_image{
	width:158px;
	margin:0px auto 20px auto;
}

.subpoint_title{
	font-size:20px;
	font-weight:bold;
	line-height:150%;
	color:#003290;
	text-align:center;
	margin:0px auto 20px auto;
}

.subpoint_txt{
	font-size:16px;
	line-height:150%;
	color:#fff;
}

.flow{
	width:1000px;
	margin:90px auto 0px auto;
    display: flex;
    flex-direction: row;
}

.flow_box{
	width:27%;
	margin:0px 3%;
	border-radius:20px;
	padding:30px;
	background:#eef9ff;
	border:2px solid #00318f;
}

.step{
	width:96px;
	margin:-80px auto 30px auto;
}

.step_image{
	width:160px;
	margin:0px auto 30px auto;
}

.step_title{
	text-align:center;
	font-size:20px;
	font-weight:bold;
	color:##00318f;
	margin:0px auto 10px auto;
}

.entryarea{
	width:700px;
	margin:0px auto 50px auto;
}

.entry_row{
    display: flex;
    flex-direction: row;
	margin:0px auto 20px auto;
	border-bottom: 1px solid #999999;
}

.entry_cate{
	width:200px;
	font-size:20px;
	font-weight:bold;
	margin:10px 20px 0px 0px;
}

.entry_input input{
	width:400px;
	padding:10px;
	margin:0px 0px 10px 0px;
}

.entry_input textarea{
	width:400px;
	height:200px;
	margin:0px 0px 10px 0px;
}

.submit_btn{
	width:150px;
	margin:0px auto 20px auto;
}

.submit_btn button{
	padding:10px;
}





.red{
	color:#ff0000;
}

.red_b{
	font-weight:bold;
	color:#ff0000;
}


.button a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: auto;
    max-width: 400px;
    padding: 20px 25px;
    color: #fff;
    font-family: "Noto Sans Japanese";
    text-decoration: none;
    color: #fff;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
    font-weight: bold;
    background: #ff3f3f;
    border-radius: 9999px;
    border-bottom: solid 5px #af0000;
}
.button a:hover {
    border-bottom: solid 2px #af0000;
    transform: translateY(3px);
}


footer{
	background:#003591;
	text-align:center;
	padding:20px 0px 10px 0px;
}

.footer_link{
	color:#fff;
	margin:0px 0px 20px 0px;
}

.footer_link a{
	color:#fff;
}

.copy{
	font-size:80%;
	color:#fff;
	margin:0px 0px 0px 0px;
}

.thanks_title{
	padding:20px;
	text-align:center;
	font-weight:bold;
}

.thanks_txt{
	text-align:center;
	margin:0px auto 30px auto;
}

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

.forPC{
display:none;
}
.forSP{
display:block;
}
	
.wrap{
	width:100%;
	background:#fff;
	margin:0px auto;
  box-shadow: -5px -5px 10px 0px rgba(255, 255, 255, 0.8), 5px 5px 10px 0px rgba(0, 0, 0, 0.3);
}

#logo{
	width:40%;
	padding:10px;
}
	
	
.fv{
	position:relative;
	height:230px;
}

.fv_chara{
	position:absolute;
	bottom:0px;
	right:-40px;
	width:70%;
}

h1{
	position:absolute;
	top:10px;
	left:10px;
	width:60%;
}

.fv_under{
	position:absolute;
	bottom:0px;
	left:0px;
}

.fv_medal{
	position:absolute;
	bottom:-20px;
	right:10px;
	width:25%;
}

.cta_fvunder{
	position:absolute;
	bottom:-390px;
	left:5px;
	width:98%;
}

.cta{
	width:100%;
	margin:0px auto;
}

.cta_btn{
    display: block;
}

.cta_btn p{
	margin: 0px 0px 20px 0px;
}

.tel_area{
	text-align:center;
}

.teltxt_main{
	font-size:20px;
	font-weight:bold;
	margin:20px auto 10px auto;
}

.telnum_main{
	font-size:40px;
	font-weight:bold;
	color:#cc0000;
  text-shadow:
  4px 4px 0px #ffffff, -4px -4px 0px #ffffff,
  -4px 4px 0px #ffffff,  4px -4px 0px #ffffff,
  4px 0 0px #ffffff, -4px  0 0px #ffffff,
  0 4px 0px #ffffff,  0 -4px 0px #ffffff;
	margin:-10px auto 5px auto;
	padding:0px;
	line-height:100%;
}

.teltime_main{
	font-size:20px;
	font-weight:bold;
}
	
.contents_title{
	width:98%;
	margin:0px auto 40px auto;
}

.block01{
	width:98%;
	margin:0px auto 30px auto;
}

.leftimage{
    display: block;
}

.rightimage{
    display: block;
}
	
	.block01_image{
		width:80%;
	margin:0px auto 10px auto;
	}

.block01_exp_title{
    display: flex;
    flex-direction: row;
}

.block01_exp{
	width:98%;
	margin:0px auto 0px auto;
}

.block01_num{
	font-size:50px;
	font-weight:bold;
	color:#003591;
	line-height:100%;
	margin:0px 10px 15px 0px;
}

.block01_tiltle{
	font-size:20px;
	font-weight:bold;
	line-height:130%;
	margin:0px 0px 0px 0px;
}

.bgb{
	background:#00caef;
	padding:50px 0px;
	margin:0px auto 30px auto;
}

.subpoint{
	width:98%;
	margin:0px auto;
    display: block;
}

.subpoint_box{
	width:100%;
	margin:0px auto 20px auto;
}

.subpoint_image{
	width:158px;
	margin:0px auto 20px auto;
}

.subpoint_title{
	font-size:20px;
	font-weight:bold;
	line-height:150%;
	color:#003290;
	text-align:center;
	margin:0px auto 10px auto;
}

.subpoint_txt{
	font-size:16px;
	line-height:150%;
	color:#fff;
	margin:0px auto 30px auto;
}

.flow{
	width:98%;
	margin:90px auto 0px auto;
    display: block;
}

.flow_box{
	width:100%;
	margin:0px auto 80px auto;
	border-radius:20px;
	padding:30px;
	background:#eef9ff;
	border:2px solid #00318f;
}

.flow_box:last-child{
	width:100%;
	margin:0px auto 0px auto;
	border-radius:20px;
	padding:30px;
	background:#eef9ff;
	border:2px solid #00318f;
}

.step{
	width:96px;
	margin:-80px auto 30px auto;
}

.step_image{
	width:160px;
	margin:0px auto 30px auto;
}

.step_title{
	text-align:center;
	font-size:20px;
	font-weight:bold;
	color:##00318f;
	margin:0px auto 10px auto;
}

.entryarea{
	width:98%;
	margin:0px auto 30px auto;
}

.entry_row{
    display: block;
	margin:0px auto 20px auto;
	border-bottom: 1px solid #999999;
}

.entry_cate{
	width:100%;
	font-size:20px;
	font-weight:bold;
	margin:0px 10px 0px 0px;
}

.entry_input input{
	width:100%;
	padding:10px;
	margin:0px 0px 30px 0px;
}

.entry_input textarea{
	width:100%;
	height:200px;
	margin:0px 0px 30px 0px;
}

.submit_btn{
	width:130px;
	margin:0px auto 20px auto;
}

.submit_btn button{
	padding:10px;
}

.cta{
	width:98%;
	margin:0px auto;
}

}