@charset "UTF-8";

/*---------- ページ全体の指定 ----------*/

body {
margin:0;
padding:0;
font-size:100%;
color:#111;
background-color:#fff;
background-image:url("img/bg.png") ;
font-family: "Noto Sans Japanese";
}


/*---------- リンク設定 ----------*/

a:link {color:#37859a;text-decoration:underline;}
a:visited {color:#37859a;text-decoration:underline;}
a:hover {color:#139eb1;text-decoration:none;}
a{-webkit-transition:0.3s ease-in-out;-moz-transition:0.3s ease-in-out;-o-transition:0.3s ease-in-out;transition:0.3s ease-in-out;}
a img {border-style:none;}
img {vertical-align:bottom;image-rendering:-webkit-optimize-contrast;}
a:hover img{filter:brightness(1.2);}
a img {border-style:none;-webkit-transition:all .3s;transition:all .3s;}


/*---------- ベーステキストの指定 ----------*/

p {
font-size:105%;
line-height:180%;
}
@media screen and (min-width:769px){
p {font-size:18px;letter-spacing:1px;}
}


/*---------- 見出し ----------*/

h1{}
h2{}
h3{}
h4{}


/*---------- PC・スマホの非表示指定 ----------*/

@media screen and (max-width:768px){.spnone{display:none;}}
@media screen and (min-width:769px){.pcnone{display:none;}}

#kv{
margin:0;
padding:30px 0 45px 0;
background-image:url("img/back.png") ;
background-size:auto 100%;
background-repeat:no-repeat;
}
.kv_box{
margin:0 20px;
padding:0 0 20px 0;
}
.kv_txt{
margin:0;
padding:0;
}
.kv_logo{
margin:0;
padding:0 0 30px 0;
text-align:center;
}
.kv_logo img{width:120px;}
.kv_top{
margin:0;
padding:0;
font-size:120%;
font-weight:bold;
line-height:100%;
text-align:center;
}
.kv_top span{
padding:3px 15px;
background:#fff;
}
.kv_txt h1{
margin:20px 0;
padding:0;
font-size:260%;
line-height:140%;
text-align:center;
}
.kv_memo{
margin:0;
padding:0 15px;
font-size:100%;
font-weight:bold;
line-height:180%;
}
.kv_pict{
margin:0;
padding:30px 0 0 0;
}
.kv_pict img{width:100%;}
@media screen and (min-width:769px){
#kv{padding:75px 0 100px 0;background-size:cover;}
.kv_box{
width:1180px;
margin:0 auto;
padding:0 0 30px 0;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.kv_txt{width:48%;}
.kv_logo{padding:0 0 45px 0;text-align:left;}
.kv_logo img{width:140px;}
.kv_top{font-size:18px;text-align:left;}
.kv_txt h1{
margin:20px 0 30px 0;
font-size:48px;
line-height:140%;
letter-spacing:8px;
text-indent:8px;
text-align:left;
}
.kv_memo{font-size:18px;}
.kv_pict{width:48%;padding:45px 0 0 0;}
}


.device{margin:0 24px;padding:0;text-align:center;}
.device a:link {color:#fff;text-decoration:none;}
.device a:visited {color:#fff;text-decoration:none;}
.device a:hover {color:#fff;text-decoration:none;}
.btn {
width:100%;
display:inline-block;
font-weight:bold;
font-size:120%;
line-height:100%;
padding:30px 0;
transition:0.8s;
border-radius:60px;
background:#0054ff;
box-shadow:0 0 10px rgba(0,0,0,0.2);
position:relative;
}
.btn:after{
content:'\f138';
font-family:'Font Awesome 5 Free';
font-size:90%;
font-weight:900;
right:12px;
position:absolute;
}
.btn:hover {
filter:brightness(1.2);
transition:0.8s;
}
@media screen and (min-width: 768px) {
.device{margin:0;}
.btn {width:540px;padding:36px 0;font-size:24px;}
.btn:after{right:36px;}
}

.subeng{
margin:0;
padding:0;
font-size:100%;
font-weight:bold;
line-height:100%;
text-align:center;
color:#7b9ee7;
font-family: 'Roboto Condensed', sans-serif;
}
@media screen and (min-width: 768px) {
.subeng{font-size:18px;}
}


.problem_bg{
margin:0;
padding:60px 20px;
background:linear-gradient(to right,#051737,#062e7a);
}
.problem_top{
margin:20px 0 0 0;
padding:0 0 15px 0;
font-size:160%;
line-height:150%;
text-align:center;
color:#fff;
}
.problem{
margin:20px auto 0 auto;
padding:15px 20px 15px 45px;
font-size:110%;
font-weight:bold;
line-height:150%;
background:#fff;
border-radius:60px;
box-shadow:0 0 7px rgba(0,0,0,0.2);
position:relative;
}
.problem::before {
content:"\f058";
font-family:"Font Awesome 5 Free";
font-weight:900;
position:absolute;
left:20px;
top:50%;
transform:translateY(-50%);
font-size:110%;
color:#0054ff;
}
.problem_arrow{
margin:25px auto 15px auto;
padding:0;
text-align:center;
width:0;
height:0;
border-left:45px solid transparent;
border-right:45px solid transparent;
border-top:20px solid #7b9ee7;
}
.problem_answer{
margin:0;
padding:0;
font-size:140%;
font-weight:bold;
line-height:160%;
text-align:center;
color:#fff;
}
.problem_caption{
margin:0;
padding:10px 0 0 0;
font-size:80%;
line-height:180%;
text-align:center;
letter-spacing:1px;
color:#fff;
}
@media screen and (min-width:769px) {
.problem_bg{padding:90px 0;}
.problem_top{font-size:36px;}
.problem{
width:740px;
margin:30px auto 0 auto;
padding:30px 30px 30px 80px;
font-size:24px;
letter-spacing:1px;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}
.problem::before {left:40px;}
.problem_arrow{margin:45px auto 30px auto;}
.problem_answer{font-size:28px;}
.problem_caption{font-size:12px;}
}


.about_bg{
margin:0;
padding:60px 0;
}
.about_top{
margin:20px 0 0 0;
padding:0 0 15px 0;
font-size:180%;
line-height:150%;
text-align:center;
}
.about_txt{
margin:20px 20px 30px 20px;
padding:0;
}
.about_box{
margin:0 20px;
padding:0 0 10px 0;
}
.about_item{
margin:0 0 30px 0;
padding:20px;
background:#fff;
border-radius:8px;
-webkit-box-sizing:border-box;
box-sizing:border-box;
box-shadow:0 0 10px rgba(0,0,0,0.1);
}
.about_item img{width:100%;}
@media screen and (min-width:769px) {
.about_bg{padding:90px 0;}
.about_top{font-size:36px;}
.about_txt{width:768px;margin:30px auto 45px auto;}
.about_box{
max-width:1180px;
width:96%;
margin:0 auto;
padding:0 0 30px 0;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.about_item{width:49%;}
}


.voice_bg{
margin:0;
padding:60px 20px 60px 20px;
background:rgba(227,238,255,0.6);
}
.voice_top{
margin:20px 0 0 0;
padding:0 0 10px 0;
font-size:180%;
line-height:150%;
text-align:center;
}
.voice{
margin:30px auto 0 auto;
padding:30px 30px 10px 30px;
border-radius:8px;
-webkit-box-sizing:border-box;
box-sizing:border-box;
background:#fff;
box-shadow:0 0 5px rgba(0,0,0,0.1);
}
.voice_head{
margin:0;
padding:20px;
font-size:100%;
line-height:160%;
color:#2462eb;
text-align:center;
background-color:#f4f4f4;
}
.voice_head span{font-size:130%;font-weight:bold;}
.voice_box{
margin:0;
padding:20px 0 0 0;
}
.voice_pict{
margin:0;
padding:0;
text-align:center;
}
.voice_pict img{
width:50%;
border-radius:50%;
border:solid 1px #eee;
}
.voice_txt{
margin:0;
padding:0;
}
.voice_title{
margin:0;
padding:20px 0 10px 0;
font-size:140%;
font-weight:bold;
line-height:150%;
border-bottom:solid 1px #7b9ee7;
}
@media screen and (min-width:769px) {
.voice_bg{padding:90px 0 100px 0;}
.voice_top{padding:0;font-size:36px;}
.voice{
max-width:1080px;
width:96%;
margin:45px auto 0 auto;;
padding:45px 60px 30px 60px;
border-radius:16px;
}
.voice_head{font-size:18px;text-align:left;line-height:100%;}
.voice_head span{font-size:24px;line-height:160%;}
.voice_box{
padding:30px 0 0 0;
display:flex;
justify-content:flex-start;
}
.voice_pict{width:200px;flex-shrink:0;}
.voice_pict img{width:100%;}
.voice_txt{padding:0 0 0 30px;flex:1;}
.voice_title{padding:0 0 10px 0;font-size:24px;}
}


.flow_bg{
margin:0;
padding:60px 20px 1px 20px;
}
.flow_top{
margin:20px 0 0 0;
padding:0;
font-size:180%;
line-height:150%;
text-align:center;
}
.flow_box{
margin:0;
padding:40px 0 0 0;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.flow{
margin:0 0 60px 0;
padding:0 30px 30px 30px;
border-radius:8px;
-webkit-box-sizing:border-box;
box-sizing:border-box;
background:#fff;
box-shadow:0 0 10px rgba(0,0,0,0.1);
}
.flow_number{
margin:-22px 0 15px 0;
padding:0;
text-align:center;
}
.flow_number img{width:45px;}
.flow_pict{margin:0;padding:0;}
.flow_pict img{width:100%;}
.flow_title{
margin:18px 0 10px 0;
padding:0;
font-size:160%;
font-weight:bold;
line-height:150%;
text-align:center;
}
.flow ul{margin:0 auto;padding:0;list-style:none;width:fit-content;}
.flow ul li{
margin:0;
padding:6px 0 0 26px;
font-size:120%;
line-height:180%;
position:relative;
}
.flow ul li:before {
display:block;
font-family:"Font Awesome 5 Free";
font-weight: 900;
content:'\f00c';
color:#0054ff;
position:absolute;
left:0;
}
@media screen and (min-width:769px) {
.flow_bg{padding:90px 0 100px 0;}
.flow_top{font-size:36px;}
.flow_box{
max-width:1180px;
width:96%;
margin:0 auto;
padding:60px 0 0 0;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
}
.flow{width:31%;margin:0;}
.flow_title{margin:18px 0 5px 0;font-size:28px;}
.flow ul li{font-size:18px;}
}


.message_bg{
margin:0;
padding:60px 0;
background-image:url("img/back.png") ;
background-position:center center;
background-size:auto 100%;
}
.message{
margin:0 20px 45px 20px;
padding:45px 30px 25px 30px;
background:rgba(255, 255, 255, 0.25);
border-radius:20px;
-webkit-box-shadow:0 4px 30px rgba(0, 0, 0, 0.1);
box-shadow:0 4px 30px rgba(0, 0, 0, 0.1);
-webkit-backdrop-filter: blur(5px);
backdrop-filter: blur(5px);
border:1px solid rgba(255, 255, 255, 0.25);
}
.message_title{
margin:0 0 30px 0;
padding:0;
font-size:140%;
font-weight:bold;
line-height:150%;
text-align:center;
color:#2462eb;
position:relative;
}
.message_title:before, .message_title:after{ 
position:absolute;
top:0;
content:'';
width:20px;
height:100%;
display:inline-block;
box-sizing:border-box;
}
.message_title:before{
border-left:solid 1px #2462eb;
border-top:solid 1px #2462eb;
border-bottom:solid 1px #2462eb;
left:0;
}
.message_title:after{
border-top:solid 1px #2462eb;
border-right:solid 1px #2462eb;
border-bottom:solid 1px #2462eb;
right:0;
}
@media screen and (min-width:769px) {
.message_bg{padding:100px 0 90px 0;background-size:cover;}
.message{width:768px;margin:0 auto 60px auto;padding:75px 120px 45px 120px;}
.message p{text-align:center;}
.message_title{margin:0 120px 45px 120px;font-size:32px;}
}


#form{
margin:0;
padding:60px 20px 75px 20px;
background:rgba(95,99,104,0.1);
}
.form_top{
margin:20px 0 30px 0;
padding:0;
font-size:180%;
line-height:150%;
text-align:center;
}
.form_area{
margin: 0 auto;
padding:10px 20px 45px 20px;
background:#fff;
border-radius:16px;
box-shadow:0 0 10px rgba(0,0,0,0.1);
}
.form_area table {
width:100%;
border-collapse:separate;
margin:0 0 20px 0;
}
.form_area table th {
font-size:100%;
line-height:180%;
padding:10px 0 5px 0;
text-align:left;
border-bottom:solid 1px #e5e5e5;
display:block;
}
.form_area table td {
font-size:100%;
line-height:180%;
padding:10px 0 10px 0;
display:block;
}
.req {
margin:0;
padding:0;
float:right;
text-align:right;
}
.req span {
margin:0;
padding:1px 5px 2px 5px;
font-size:75%;
font-weight:normal;
line-height:100%;
color:#2462eb;
background:#fff;
border:solid 1px #2462eb;
border-radius:2px;
}
input[type="text"], textarea, select, input[type="tel"], input[type="email"], input[type="number"], input[type="password"] {
border:0;
padding:15px 10px;
font-size:100%;
border:solid 1px #eee;
appearance:none;
border-radius:3px;
box-shadow:inset 1px 4px 9px -6px rgba(0, 0, 0, 0.5);
box-sizing:border-box;
font-family: "Noto Sans Japanese";
}
input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, textarea:focus, input[type="number"]:focus {box-shadow:0 0 7px #999;}
input[type="text"], input[type="email"], textarea {width:100%;}
/* Chrome, Safari */ ::-webkit-input-placeholder {color:#999;}
/* Firefox */ ::-moz-placeholder {color:#999;}
/* Firefox 18以前 */ :-moz-placeholder {color:#999;}
/* IE */ :-ms-input-placeholder {color:#999;}
input[type="submit"], input[type="button"], button[type="submit"] {
border-radius:0;
appearance:button;
border:none;
box-sizing:border-box;
cursor:pointer;
transition:all .5s;
border-radius:50px;
color:#fff;
background-color:#ff6a18;
font-family: "Noto Sans Japanese";
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration, button[type="submit"]::-webkit-search-decoration {
display:none;
}
input[type="submit"]::focus, input[type="button"]::focus, button[type="submit"]::focus {outline-offset:-2px;color:#fff;}
.enter {margin:0;padding:30px 0 0x 0;text-align:center;}
.enter a:link {color:#fff;text-decoration:none;}
.enter a:visited {color:#fff;text-decoration:none;}
.enter a:hover {color:#fff;text-decoration:none;}
.button {
width:90%;
margin:0 auto;
padding:25px 0;
font-size:125%;
font-weight:bold;
display:block;
transition:0.3s ease-in-out;
}
.button:hover {
filter:brightness(115%);
transition:0.3s ease-in-out;
}
.selectbox select {
background: url(img/arrow_pull.png) right 50% no-repeat, -webkit-linear-gradient(top, #fff 0%,#fff 100%);
background: url(img/arrow_pull.png) right 50% no-repeat, linear-gradient(to bottom, #fff 0%,#fff 100%);
background-size: 20px, 100%;
padding:10px 30px 10px 10px;
}
select::-ms-expand {
display: none;
}
@media screen and (min-width:769px){
#form{
margin:0;
padding:90px 0 100px 0;
background:rgba(95,99,104,0.1);
}
.form_top{
margin:20px 0 30px 0;
padding:0 0 15px 0;
font-size:36px;
line-height:150%;
text-align:center;
}
.form_area{
width:768px;
margin: 0 auto;
padding:45px 75px 60px 75px;
background:#fff;
border-radius:16px;
box-shadow:0 0 10px rgba(0,0,0,0.1);
}
.form_area table th {font-size:16px;padding:10px 15px 10px 0;display:table-cell;}
.form_area table td {font-size:16px;line-height:180%;padding:10px 0 10px 10px;display:table-cell;}
.req span {font-size:12px;}
.enter {margin:0;padding:30px 0 0 0;text-align:center;}
.button {width:420px;font-size:21px;}
}


.faq_bg{
margin:0;
padding:60px 0;
}
.faq_top{
margin:20px 0 0 0;
padding:0;
font-size:180%;
line-height:150%;
text-align:center;
}
.faq {margin:0 20px 45px 20px;padding:0;}
.faq dt:hover{color:#2462eb;text-decoration:none;}
.faq dt {
margin:30px 0 0 0;
padding:15px 30px 15px 20px;
font-size:110%;
font-weight:bold;
line-height:180%;
cursor:pointer;
background-color:#fff;
border-radius:5px;
box-shadow:0 0 10px rgba(23,50,103,0.2);
position:relative;
}
.faq dt:after{
content:"▼";
font-size:12px;
color:#ccc;
position:absolute;
top:50%;
right:15px;
transform:translateY(-50%); 
}
.faq dd {
margin:0;
padding:0 0 10px 50px;
display:none;
position:relative;
}
.faq dd:after {
position:absolute;
top:3px;
left:20px;
content:"A.";
font-size:130%;
font-weight:bold;
color:#2462eb;
font-family:'Roboto Condensed', sans-serif;
}
.qus{
padding-right:10px;
font-size:120%;
color:#2462eb;
font-family:'Roboto Condensed', sans-serif;
}
@media screen and (min-width:769px) {
.faq_bg{padding:90px 0;}
.faq_top{font-size:36px;}
.faq {width:768px;margin:0 auto 60px auto;}
.faq dt {padding:20px 25px 20px 20px;font-size:20px;}
.faq dd:after {font-size:24px;}
}


.company_top{
margin:20px 0 0 0;
padding:0 0 15px 0;
font-size:180%;
line-height:150%;
text-align:center;
}
.company{
margin:0 30px 45px 30px;
padding:0;
}
.company table{
width:100%;
border-collapse:separate;
margin:0;
}
.company table th{
padding:0 0 10px 0;
font-size:100%;
line-height:180%;
text-align:left;
border-bottom:solid 1px #7b9ee7;
display:block;
}
.company table td{
padding:10px 0 20px 15px;
font-size:100%;
line-height:180%;
display:block;
}
@media screen and (min-width:769px){
.company_top{font-size:30px;}
.company{width:640px;margin:0 auto 90px auto;}
.company table{margin:0;}
.company table th{
width:180px;
padding:15px 0 15px 20px;
font-size:16px;
letter-spacing:1px;
display:table-cell;
}
.company table td{
padding:15px 0 15px 20px;
font-size:16px;
letter-spacing:1px;
border-bottom:solid 1px #ddd;
display:table-cell;
}
}


.base_box{
max-width:1180px;
width:94%;
margin:0;
padding:0;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
background-image:url("img/bg.jpg") ;
}
.base{
font-size:100%;
line-height:180%;
border:solid 1px #ccc;
border-radius:10px;
-webkit-box-sizing:border-box;
box-sizing:border-box;
box-shadow:0 0 5px rgba(0,0,0,0.1);
letter-spacing:3px;
text-indent:3px;
background:linear-gradient(to right,#FFC778,#FFF);
font-family: 'Roboto Condensed', sans-serif;
}



.video{
margin:0;
padding:0;
position:relative;
width:100%;
padding-top:56.25%;
}
.video iframe{
position:absolute;
top:0;
right:0;
width:100%;
height:100%;
}

@media screen and (min-width:240px) and ( max-width:768px) {
    /*　画面サイズが768pxから1024pxまではここを読み込む　*/

}



/*------------------------------ フッター ------------------------------*/

#footer{
margin:0;
padding:30px 0;
font-size:80%;
line-height:200%;
text-align:center;
background:rgba(242,244,245,0.4);
}
#footer a:link {color:#222;text-decoration:none;}
#footer a:visited {color:#222;text-decoration:none;}
#footer a:hover {color:#222;text-decoration:underline;}
@media screen and (min-width:769px){
#footer{
margin:0;
padding:45px 0;
font-size:12px;
}
}



/*---------- 文字装飾 ----------*/

.bold{font-weight:bold;}
.ul{text-decoration:underline;}
.red {font-weight:bold;color:#e73250;}
.blue {color:#2462eb;}
.ym{background:linear-gradient(transparent 70%, #fff676 70%);}

/*---------- 文字位置 ----------*/

.center{text-align:center;}
.right{text-align:right;}

