@charset "utf-8";
/* CSS Document */
html, body {
font-family: "Noto Sans JP", "ヒラギノ角ゴ W6", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.f_32{
font-size:32px;
}

.f_45{
font-size:45px;
font-weight: bold
}

.f_ora{
color:#f44c24;
}

.f_blue{
color:#205eca;
}

.f_green{
color:#08938b;
}
.under_1200{
display:none;
}

h2{
font-size:40px;
color:#987e3d;
margin: 0 auto 60px;
text-align: center;
line-height: 1.8
}

li{
line-height: 1.6
}

p{
font-size: 16px;
line-height: 1.8
}

.mb_only{
display:none;
}

p.sub_h2{
font-size:26px !important;
font-weight: bold;
margin: 0 auto 70px !important;
text-align: center;
color:#987e3d;
}

p.sub_h2 {
display: flex;
align-items: center;
justify-content: center;
}

p.sub_h2:before, .sub_h2:after {
border-top: 1px solid;
content: "";
width: 3em;
}

p.sub_h2:before {
margin-right: 1em; 
}

p.sub_h2:after {
margin-left: 1em;
}

.gradient{
background-image: -webkit-linear-gradient( 0deg, rgb(236,165,85) 0%, rgb(228,136,83) 41%, rgb(220,107,80) 100%);
color: #fff;
padding: 10px 10px 0
}

#MvWrap{
width: 100%;
background: url("../img/mv_bg_pc.jpg") no-repeat top center;
background-size: cover;
padding: 130px 30px 250px;
}

#Mv{
width: 100%;
max-width: 1000px;
margin: 0 auto;
position: relative
}

#Mv .mv_copy{
width: 100%;
max-width:980px;
height: auto
}

/*.mv_logo{
position: absolute;
top:-80px;
right:50px;
}*/

#AboutWrap{
width: 100%;
padding:110px 30px ; 
background-image:url("../img/about_title.png"),url("../img/about_top_bg.jpg"),url("../img/about_bottom_bg.jpg"); 
background-repeat:  no-repeat;
background-position: top center,top center,bottom center;
background-size:876px 156px, 100% auto,100% auto;
}

#AboutWrap h2{
color:#333;
text-align: center;
font-size:36px;
font-weight: bold;
margin: 0 auto 50px;
line-height: 1.6
}

#AboutWrap .about_text{
text-align: center;
font-size:20px;
margin: 0 auto 50px;
}

#AchivementWrap{
width:100%;
max-width: 1700px;
margin: 100px auto 0;
background-image:url("../img/achivement_title.png"),url("../img/achivement_bg.jpg"); 
background-repeat:  no-repeat;
background-position: top center,top center;
background-size:100% auto,cover;
padding: 120px 30px 0;
}

#Achivement h3{
font-size:40px;
color:#987e3d;
margin: 0 auto 60px;
text-align: center;
line-height: 1.8
}

#Achivement h3 + p{
font-size:24px;
font-weight: bold;
margin: 0 auto 100px;
text-align: center
}

#Achivement .content_wrap{
width: 100%;
max-width: 1200px;
padding:100px 0;
margin: 0 auto;
position: relative;
}

#Achivement .content_wrap:before{
position: absolute;
content:"";
width: 100px;
height: 5px;
background:#987e3d;
top:0;
left: 50%;
transform: translate(-50%,0)
}

#Achivement .content_detail{
width: 100%;
display: flex;
margin: 0 auto 100px;
border-bottom:solid 1px #d6e4f6;
padding-bottom:50px;
gap: 6%;
}

#Achivement .content_detail.content_detail_even{
flex-direction: row-reverse
}

#Achivement .content_detail.content_detail_last{
padding-bottom:0;
border-bottom:none;
margin-bottom: 0;
}

#Achivement .content_detail_left{
width: 50%;
}

#Achivement .content_detail_left h4 {
font-size: 28px;
text-align: left;
margin: 0 0 40px;
padding-left: 120px;
position: relative;
line-height:1.2;
font-weight: normal
}

#Achivement .content_detail_left h4:before {
position: absolute;
content:"";
width: 118px;
height: 66px;
background: url("../img/achivement01.png") no-repeat center;
top:50%;
left: 0;
transform: translate(0,-50%)
}

#Achivement #Achivement02 .content_detail_left h4:before {
background-image: url("../img/achivement02.png");
}

#Achivement #Achivement03 .content_detail_left h4:before {
background-image: url("../img/achivement03.png") ;
}

#Achivement .content_detail_left p {
font-weight: normal;
text-align: left;
padding-left: 104px;
}

#Achivement .content_detail_right{
flex: 1
}

#Achivement .content_detail_right img {
display: block;
margin: 0 auto;
box-shadow: 10px 10px 20px 3px rgba(147, 190, 240, 0.30);
width: 90%;
max-width: 420px;
height: auto
}

#SupportWrap{
width: 100%;
padding:110px 30px 100px; 
background-image:url("../img/support_title.png"); 
background-repeat:  no-repeat;
background-position: top center;
background-size:1120px 156px;
background-color: #fff
}

#Support h2 .f_ora{
font-size:50px;
}

#Support h2 + p{
text-align: center;
font-size:20px;
margin: 0 auto 100px;
font-weight: bold;
line-height: 2.2
}

.support_single{
counter-reset: single;
}

.support_double{
counter-reset: double 9;
}

.support_detail{
width: 100%;
max-width: 1200px;
padding: 25px;
background: #f9f7f2;
display: flex;
align-content: center;
margin: 0 auto;
gap: 5%;
}

.support_detail.support_detail_even{
background: #fff;
} 

.support_detail_left{
width: 60%;
}

.support_detail_left h4{
position: relative;
font-size:22px;
margin-bottom: 20px;
padding-left: 75px;
}

.support_single h4:before {
position: absolute;
counter-increment: single;
content: "0" counter(single);
color:#f44c24;
font-size: 50px;
top:-2px;
left: 0;
font-weight: normal;
display: flex;
align-items: center;
width: auto;
height: 100%;
}

.support_double h4:before {
position: absolute;
counter-increment: double;
content: "" counter(double);
color:#f44c24;
font-size: 50px;
top:-2px;
left: 0;
font-weight: normal;
display: flex;
align-items: center;
width:auto;
height: 100%;
}

.support_detail_left p{
font-size:14px;
padding-left: 75px
}

.support_detail_right{
width: 40%;
display: flex;
align-items: center;
}

.support_detail_right ul{
width: 100%;
display:flex;
justify-content: space-around;
}

.support_detail_right li{
width: 86px;
height: 86px;
color:#fff;
background:#557bd1;
border-radius: 5px;
justify-content: center;
align-items: center;
display: flex;
text-align: center;
font-size:15px;
font-weight: bold
}

.support_detail_right li.rieki{
background:#c8476b;
}

.support_detail_right li.keiei{
background:#dd6d50;
}

.support_detail_right li.keisyo{
background:#569964;
}

.support_detail_right li.disable{
border:dotted 2px #cccccc;
color:#cccccc !important;
background: #fff
}

#TrustWrap{
width:100%;
margin:0 auto;
background-image:url("../img/trust_title.png"),url("../img/trust_bg.jpg"); 
background-repeat:  no-repeat;
background-position: top center,top center;
background-size:876px 156px,cover;
padding: 80px 30px 60px;
}

#TrustWrap p{
font-size:16px;
margin: 0 auto 40px;
}

#TrustWrap .trust_text {
width: 100%;
max-width: 940px;
margin: 0 auto ;
text-align: left;
font-weight: normal
}

#TrustWrap p.trust_irai{
font-size:18px;
font-weight: bold;
}

#ReasonWrap{
width:100%;
margin:0 auto;
background-image:url("../img/reason_title.png"),url("../img/reason_bg.jpg"); 
background-repeat:  no-repeat;
background-color: #517ad2;
background-position: top center,top center;
background-size:964px 156px,contain;
padding: 80px 30px 100px;
}

#ReasonWrap h2{
color:#fff;
}

#ReasonWrap .sub_h2{
color:#fff;
}

#ReasonWrap h2 + p{
color:#fff;
text-align: center;
font-size:18px;
font-weight: bold;
line-height: 2.2;
}

#ReasonWrap p{
font-size:16px;
margin: 0 auto 40px;
}

#ReasonContainer{
width:100%;
max-width: 1700px;
margin: 100px auto 0;
background-color: #fff;
background-size:100% auto,cover;
}

.reason{
padding: 100px 0 0;
}

.reason .sub_h3{
font-size:18px;
color:#fff;
font-weight: bold;
text-align: center;
}

.reason .sub_h3 .gradient{
padding: 10px;
}

.reason .sub_h3 .gradient span{
color:#dc6c50;
background: #fff;
border-radius: 15px;
width: 30px;
height: 30px;
display: inline-block;
margin-left: 2px
}

.reason h3{
font-size:36px;
text-align: center;
background: url("../img/reason01_title.png") no-repeat center;
padding: 10px;
padding-bottom: 10px;
margin-bottom: 100px;
}

#Reason02.reason h3{
background-image: url("../img/reason02_title.png");
}

#Reason03.reason h3{
background-image: url("../img/reason03_title.png");
}

#ConflictWrap{
background: url("../img/conflict_bg_pc.jpg") no-repeat left center;
padding: 0 0 100px;
}

#Conflict{
width: 900px;
margin-right: 200px;
margin-left: auto;
}

#Conflict h4{
font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
font-size:40px;
line-height:1.8;
margin-bottom: 70px
}

#Conflict dl{
padding-left:120px;
background: url("../img/conflict01.gif") no-repeat top left;
margin-bottom: 50px
}

#Conflict dt{
font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
font-size:28px;
font-weight: bold;
color:#517ad2;
padding:10px 0 0;
border-bottom:dotted 2px #517ad2;
margin-bottom: 20px;
}

#Conflict dd p{
margin-bottom: 30px;
}

#Conflict dl.conflict02{
background: url("../img/conflict02.gif") no-repeat top left;
}

#Origin{
background: url("../img/origin_bg.jpg") no-repeat top center;
background-size:cover;
padding: 30px;
display: flex;
justify-content: center
}

#Origin p{
font-size:22px;
font-weight: bold;
margin-bottom: 0;
line-height:2.2; 
}

#Reason02{
background: url("../img/power_bg.jpg") no-repeat top center;
background-size: cover;
padding:100px 30px 120px;
}

#Reason02 h3{
margin: 0 auto 40px;
}

#Reason02 h3 + p{
text-align: center;
font-size:18px;
font-weight: bold;
line-height: 2.2;
}

#Passion{
width: 100%;
max-width: 1000px;
margin: 0 auto 50px;
box-shadow: 0px 0px 27px 27px rgba(0, 0, 0, 0.05);
}

#Passion p{
width: 100%;
max-width: 1000px;
font-size:26px;
font-weight: bold;
color:#fff;
background:#205eca;
margin-bottom: 0;
text-align: center;
padding:10px 5px;
}

#Passion ul{
width: 100%;
max-width: 1000px;
background: #fff;
margin: 0 auto;
padding:5px 25px;
}

#Passion li{
font-size:17px;
font-weight: bold;
margin-bottom: 10px;
border-bottom:solid 1px #d6deec;
padding: 10px 0px 15px 60px;
position: relative;
}

#Passion li .f_blue{
font-weight: bold;
}

#Passion li:before{
position: absolute;
content:"";
background: url("../img/reason02_check.png") no-repeat center #edf3fc;
border-radius:10px;
width: 40px;
height: 40px;
left: 0;
top:50%;
transform: translate(0 , -50%)
}

#Passion li:last-of-type{
border: none
}

#ReasonWrap .reason_matome{
font-size:22px;
font-weight: bold;
color:#205eca;
text-align: center
}

#Reason03{
background-image: url("../img/ayumu_bg_top.png"),url("../img/ayumu_bg_bottom.png");
background-repeat: no-repeat;
background-position:top left,bottom right;
padding:100px 10px 120px;
}

#Ayumu{
width: 100%;
max-width: 900px;
margin: 0 auto
}

#Ayumu .reason_matome{
margin-top: 70px;
}

#Case{
width: 100%;
padding: 110px 0 100px 0;
background-image: url("../img/case_title.png");
background-repeat: no-repeat;
background-position: top center;
background-size: 876px 156px;
background-color: #fff;
}

#Case h2 + p {
text-align: center;
font-size: 18px;
font-weight: bold;
line-height: 2.2;
margin-bottom: 100px
}

.episode {
width: 100%;
max-width: 1700px;
background:#f5f3f0;
margin:0 auto;
padding-bottom: 70px
}

#Episode02.episode {
background:#ecf2fa;
}

.epi_h3_wrap {
width: 100%;
max-width: 1700px;
background: url("../img/episode01.jpg") no-repeat center top;
background-size: 1700px auto;
margin-bottom: 50px;
}

#Episode02 .epi_h3_wrap {
background-image: url("../img/episode02.jpg");
}

.epi_h3 {
width: 100%;
max-width: 1200px;
padding:40px 30px;
margin: 0 auto;
}

.epi_h3_wrap h3 {
font-size:30px;
color:#fff;
padding-bottom: 20px;
position: relative;
margin-bottom: 20px
}

.epi_h3_wrap h3:after {
position: absolute;
content:"";
width:100px;
height: 2px;
background: #fff;
bottom:0;
left:0;
}

.epi_h3_wrap h3 + p {
font-size:16px;
color:#fff;
line-height: 1.6
}

.epi_box{
padding:0 30px;
}

.epi_detail{
width: 100%;
max-width: 1000px;
margin: 0 auto 30px;
padding:10px 20px;
box-shadow: 0px 0px 15px 15px rgba(0, 0, 0, 0.05);
background: #fff
}

.epi_detail h4{
font-size:22px;
margin: 0;
padding: 12px 10px 17px 70px;
border-bottom: dotted 2px #e99b54;
background:url("../img/case01_anshin.jpg") no-repeat left center;
}

#Episode01_02.epi_detail h4{
background-image:url("../img/case02_anshin.jpg");
}

#Episode01_03.epi_detail h4{
background-image:url("../img/case03_anshin.jpg");
}

#Episode01_04.epi_detail h4{
background-image:url("../img/case04_anshin.jpg");
}

#Episode01_03.epi_detail h4{
background-image:url("../img/case03_anshin.jpg");
}

#Episode01_05.epi_detail h4{
background-image:url("../img/case05_anshin.jpg");
}

#Episode01_06.epi_detail h4{
background-image:url("../img/case06_anshin.jpg");
}

#Episode01_07.epi_detail h4{
background-image:url("../img/case07_anshin.jpg");
}
#Episode02 .epi_detail h4{
border-bottom: dotted 2px #5884d3;
}

#Episode02_01.epi_detail h4{
background-image:url("../img/case01_seika.jpg");
}
#Episode02_02.epi_detail h4{
background-image:url("../img/case02_seika.jpg");
}
#Episode02_03.epi_detail h4{
background-image:url("../img/case03_seika.jpg");
}
#Episode02_04.epi_detail h4{
background-image:url("../img/case04_seika.jpg");
}
#Episode02_05.epi_detail h4{
background-image:url("../img/case05_seika.jpg");
}
#Episode02_06.epi_detail h4{
background-image:url("../img/case06_seika.jpg");
}
#Episode02_07.epi_detail h4{
background-image:url("../img/case07_seika.jpg");
}

.more {
width: 100%;
margin: 0 auto;
padding:10px 20px;
}

.more__content {
position: relative;
height: auto;
max-height: 70px;
overflow: hidden;
transition: max-height 0.5s;
}

.more__content p{
margin-bottom: 30px
}

.more__content::after {
content: '';
position: absolute;
top: 0;
left: 0;
z-index: 1;
display: block;
width: 100%;
height: 100%;
transition: 0.5s;
background: linear-gradient(to bottom, transparent 0%, #ffffff 100%);
}

.more__content.open:after {
z-index: -1;
opacity: 0;
}

.more__btn {
width: 200px;
display: block;
margin: 0 auto;
padding: 12px 40px;
border: 0;
font-size:14px;
font-weight: bold;
color: #ffffff;
background-color: #987e3d;
cursor: pointer;
position: relative
}

.more__btn:hover {
background-color: #796431;
}

#Episode02 .more__btn {
background-color: #5780d2;
}

#Episode02 .more__btn:hover {
background-color: #3057a5;
}

.more__btn:after {
position: absolute;
content: "";
background: url("../img/more_arrow.png") no-repeat ;
background-size: 14px 8px;
width: 14px;
height: 8px;
top:50%;
transform:translate(5px, -50%) 
}

.more__content.open + .more__btn:after{
transform:translate(5px, -50%) rotate(-180deg)
}

#TeamWrap{
width:100%;
margin:0 auto;
background-image:url("../img/team_title.png"),url("../img/team_bg.jpg"); 
background-repeat:  no-repeat;
background-position: top center,top center;
background-size:876px 156px,contain;
background-color: #084796;
padding: 110px 30px;
}

#TeamWrap h2{
color:#fff;
}

#Team .team_text p{
width: 100%;
max-width: 940px;
margin: 0 auto 60px;
color:#fff;
font-size:18px;
}

#TeamContainer{
width:100%;
background-color: #084796;
margin-top: 80px;
}

#TeamInner{
width:100%;
max-width: 1700px;
margin: 0 auto;
background-color: #fff;
}

#Team01{
background-image:url("../img/team01_title.png"),url("../img/grid.jpg"); 
background-repeat:  no-repeat,repeat;
background-position: top center,top center;
background-size:100% auto,55px 57px;
}

.team_detail{
width: 100%;
max-width: 1200px;
padding: 80px 30px;
margin: 0 auto
}

.team .sub_h3{
font-size:24px;
font-weight: bold;
text-align: center;
color:#084285;
margin-bottom: 40px;
}

.team h3{
font-size:50px;
font-weight: bold;
text-align: center;
color:#084285;
position: relative;
padding-bottom: 50px;
margin-bottom: 80px;
}

.team h3:after{
position: absolute;
content:"";
width: 100px;
height: 2px;
background:#084285;
left:50%;
bottom:0;
transform: translate(-50%,0)
}

.team h3 span{
position:relative;
padding:0 50px;
}

.team h3 span:before{
position: absolute;
content:"";
width: 50px;
height: 50px;
background: url("../img/team_tri.png") no-repeat left center;
left:0;
top:0;
}

.team h3 span:after{
position: absolute;
content:"";
width: 50px;
height: 50px;
background: url("../img/team_tri.png") no-repeat left center;
right:0;
bottom:0px;
transform: rotate(180deg);
}

.team p{
margin-bottom: 40px;
}

.team p span{
font-weight: bold
}

.team h4 + p{
text-align: center
}

.team01_text{
text-align: center
}

#Team01 ul{
width: 100%;
max-width: 1000px;
display: flex;
gap:10px;
justify-content: center;
flex-wrap: wrap;
margin:80px auto;
}

#Team01 ul li{
color:#fff;
width: 240px;
font-size:17px;
font-weight: bold;
text-align: center;
padding:15px 10px;
border-radius: 5px;
background:#084285;
margin-bottom: 10px;
}

#Team02 p{
text-align: center;
}

#Team02{
background-image:url("../img/team02_title.png"),url("../img/grid.jpg"); 
background-repeat:  no-repeat,repeat;
background-position: top center,top center;
background-size:100% auto,55px 57px;
}

#Team02 ul{
width: 100%;
max-width: 900px;
margin:80px auto;
}

#Team02 li{
color:#084285;
width: 100%;
font-size:18px;
font-weight: bold;
padding:18px 10px 18px 50px;
margin-bottom: 10px;
box-shadow: 9.804px 15.096px 27px 3px rgba(147, 190, 240, 0.3);
background: url("../img/team02_list.png") no-repeat left 15px center #fff;
}

#Team02 li span{
font-weight:normal;
}

#Team02 .team02_matome{
font-size:18px;
}

#Team02 .team02_matome span{
font-size:22px;
color:#084285;
}

#SafetyMv{
background-image:url("../img/safety_left_bg.png"),url("../img/safety_right_bg.png"),url("../img/safety_bg.jpg"); 
background-repeat:  no-repeat;
background-position:center left,center right,center;
background-size:contain,contain,cover;
padding: 160px 30px 200px;
}

#SafetyMv h2{
font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
font-size:50px;
font-weight: bold;
text-align: center;
color:#333;
margin: 0 auto 50px
}

#SafetyMv .safety_text p{
font-size:18px;
font-weight: bold;
text-align: center;
line-height: 2.2;
width: 100%;
max-width: 1000px;
margin: 0 auto
}

#SafetyMv p span{
color:#ef3e4a;
}

#SoudanWrap{
background: url("../img/soudan_bg.jpg") no-repeat center;
background-size:cover;
}
#Soudan{
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 100px 30px
}

#Safety h3{
font-size: 40px;
margin: 0 auto 60px;
text-align: center;
line-height: 1.8;
}

#Soudan p{
font-size:18px;
font-weight:bold;
text-align: center;
line-height: 2.2;
margin: 0 auto
}

#Soudan ul{
width: 100%;
display: flex;
justify-content: space-between;
margin: 70px auto 0
}

#Soudan li{
width: 30%;
display: flex;
flex-direction: column;
align-items: center
}

#Soudan li img{
display: block;
width: 100%;
height: auto;
max-width: 300px;
margin-bottom:0px; 
}

#Soudan li h4{
font-size:24px;
color:#08938b;
margin: 0 auto 20px;
height: 80px;
display: flex;
align-items: center;
text-align: center
}

#Soudan li p{
font-size:14px;
font-weight: normal;
text-align: left;
line-height: 1.8
}

#AccessWrap{
background:url("../img/access_bg.jpg") no-repeat bottom center;
background-size:100% 
}

#Access{
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 100px 30px 80px
}

#Safety .before_h3{
font-size: 20px;
text-align: center;
font-weight: bold;
margin: 0 auto 60px;
}

#Safety .before_h3 .gradient{
background-image: -webkit-linear-gradient( 0deg, rgb(79,197,226) 0%, rgb(55,186,196) 52%, rgb(31,174,166) 100%);
border-radius: 30px;
padding:6px 20px;
line-height: normal
}

#Safety .before_h3 .gradient span {
color: #1faea6;
background: #fff;
border-radius: 15px;
width: 30px;
height: 30px;
display: inline-block;
margin-left: 2px;
}

#Access h3{
color: #08938b;
}

#Access p.sub_h2{
font-size: 22px !important;
color: #333;
}

.access_text{
font-size:18px;
font-weight: bold;
text-align: center;
line-height: 2.2;
margin: 0 auto
}

.access_detail{
width: 100%;
max-width: 1100px;
display: flex;
margin:100px auto 0;
gap:6%;
}

.access_detail_right{
width:50%;
}

.access_detail.access_detail_even{
flex-direction: row-reverse
}

.access_detail_right h4{
font-size:30px;
background: url("../img/access_list.jpg") no-repeat left bottom 5px;
background-size:34px 33px ;
padding-left: 45px;
line-height: 1.6;
margin-bottom: 30px;
}

.access_detail_right h4 .before_h4{
display: block;
font-size:16px;
}

.access_detail_right p{
padding-left: 45px;
}

.access_detail_right a{
  color: #084285;
}

.access_detail_left{
flex: 1
}

.access_detail_left img{
display: block;
width: 100%;
max-width: 440px;
height: auto;
}

.access_matome{
width: 100%;
max-width:920px;
background-image:url("../img/access_matome_left.png"),url("../img/access_matome_right.png"); 
background-repeat:  no-repeat;
background-position:center left,center right;
font-size: 30px;
font-weight: bold;
text-align: center;
color: #08938b;
margin:0 auto;
padding: 100px 160px
}

#Security h3{
color: #333;
}

#SecurityWrap{
background:url("../img/security_bg.jpg") no-repeat top center;
background-size:cover
}

#Security{
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 100px 30px
}

.security_text{
font-size:18px;
font-weight: bold;
text-align: center;
line-height: 2.2;
margin: 0 auto 130px
}

#Security ul{
width: 100%;
display: flex;
justify-content: space-between;
gap:3%;
margin-bottom: 100px
}

#Security li{
position: relative;
flex-grow: 1;
background:rgba(255,255,255,0.8);
box-shadow: 0px 0px 40px 0px rgba(121, 122, 122, 0.24);
padding:90px 20px 50px;
border-radius: 10px;
width: 30%
}

#Security li:before{
position: absolute;
content:"";
width:84px;
height:84px;
background:url("../img/security01.png") no-repeat center #08938b;
background-size:40px 48px;
border-radius: 50px;
top:-40px;
left: 50%;
transform: translate(-50% ,0)
}

#Security li.security02:before{
background-image:url("../img/security02.png");
}

#Security li.security03:before{
background-image:url("../img/security03.png");
}

#Security li h4{
text-align: center;
color: #08938b;
font-size:24px;
margin-bottom: 50px;
}

#Security li p{
font-size:15px;
}

.security_matome{
font-size: 30px;
font-weight: bold;
text-align: center;
color: #08938b;
margin:0 auto;
}


#FreeeMvWrap{
width:100%;
background-image:url("../img/freee_mv_bottom.png"),url("../img/freee_mv_top.jpg"); 
background-repeat:  no-repeat;
background-position:bottom center,top center;
background-size:contain,cover;
}

#FreeeMv{
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 100px 30px 150px;
}

#FreeeMv h2{
font-size:40px;
color:#2864f0;
margin-bottom: 100px;
}

#FreeeMv h2 img{
display: block;
margin: 0 auto 10px
}

.freee_text{
max-width: 1200px;
position: relative;
}

.freee_text p{
font-size:18px;
font-weight: bold;
text-align: center;
margin-bottom: 30px;
}

.freee_text span{
color:#2864f0;
}
.freee_text img{
position: absolute;
top:-50px;
right:0;
}

#FreeeStepWrap{
background:#2864f0;
}

#FreeeStep{
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 100px 30px
}


#FreeeStep h3{
font-size: 40px;
margin: 0 auto 60px;
text-align: center;
line-height: 1.8;
color:#fff;
}

.freee_step_text{
font-size:18px;
font-weight: bold;
color:#fff;
text-align: center
}

#FreeeFlow{
background: url("../img/freee_step_title.png") no-repeat top 50px center;
padding-top:100px;
}

#FreeeFlow h4{
font-size:35px;
color:#fff;
text-align: center;
margin: 0 auto 50px
}

#FreeeFlow h4 span{
font-size:30px;
}

#FreeeFlow ul{
width: 100%;
display: flex;
justify-content: space-between;
gap: 3%;
}

#FreeeFlow li {
position: relative;
flex-grow: 1;
background: #fff;
padding:30px 20px 40px;
border-radius: 10px;
width: 31%;
}

#FreeeFlow li:after {
position: absolute;
content:"";
width: 66px;
height:66px;
border-radius: 33px;
background: url("../img/step_arrow.png") no-repeat center #2864f0;
background-size:28px 26px;
top:50%;
left:0;
transform: translate(-50px,-50%);
z-index: 10
}

#FreeeFlow li:first-child:after {
display: none
}

#FreeeFlow h5 {
font-size:24px;
text-align: center;
background: url("../img/step01.png") no-repeat center;
padding: 40px 10px;
margin: 0 auto 15px;
}

#FreeeFlow li:nth-of-type(2) h5 {
background-image: url("../img/step02.png");
}

#FreeeFlow li:nth-of-type(3) h5 {
background-image: url("../img/step03.png");
}

#FreeeFlow img{
display: block;
margin: 0 auto 25px
}

#FreeeSup{
background: url("../img/freee_sup_arrow.gif") no-repeat center top;
padding: 100px 30px
}
#FreeeSup h3{
font-size:40px;
color:#2864f0;
margin-bottom: 50px;
background: url("../img/freee_support_title.png") no-repeat center;
background-size:980px auto;
padding:50px 0;
text-align: center;
}

#FreeeSup h3 + p{
font-size:18px;
font-weight: bold;
text-align: center;
margin-bottom: 100px;
}

#FreeeSupBox{
width: 100%;
max-width: 1400px;
}

#FreeeSupBox{
width: 100%;
max-width: 1400px;
background: url("../img/freee_sup_bg.jpg") no-repeat center top;
background-size:cover;
margin: 0 auto;
border-radius: 10px;
}

.freee_sup_wrap{
border-top:solid 1px #6c93f0;
border-bottom:solid 1px #183c90;
padding:100px 30px;
background: url("../img/freee_sup01.png") no-repeat top -10px left;
}

.freee_sup_wrap#FreeeSup02{
background-image: url("../img/freee_sup02.png");
}

.freee_sup_wrap#FreeeSup03{
background-image: url("../img/freee_sup03.png");
}

.freee_sup_detail{
width:100%;
max-width: 1200px;
display: flex;
margin: 0 auto ;
align-items: center;
gap:6%;
}

.freee_sup_right{
width: 50%
}

.freee_sup_left{
flex: 1
}

.freee_sup_left img{
display: block;
margin: 0 auto;
width: 100%;
max-width: 550px;
height: auto
}


.freee_sup_right h4{
font-size:35px;
color:#fff;
margin-bottom: 50px;
}

.freee_sup_right h4 span{
font-size:30px;
}

.freee_sup_right p{
font-size:16px;
color:#fff;
}

.freee_sup_wrap#FreeeSup01{
border-top:none;
}

.freee_sup_wrap#FreeeSup03{
border-bottom:none;
}

#FreeeDataWrap {
background: url("../img/data_bg.jpg") no-repeat top center;
background-size:cover 
}

#FreeeData {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 100px 30px;
}

#FreeeData h3{
font-size:40px;
color:#2864f0;
margin-bottom: 60px;
text-align: center
}

#FreeeData h3 .sub_h3{
display: block;
font-size:35px;
margin-bottom: 30px;
}
#FreeeData h3 > span:not(.sub_h3){
color:#333;
}

#FreeeData h3 .sub_h3 span{
font-size:30px;
}

#FreeeData h3 + p{
font-size:18px;
font-weight: bold;
text-align: center;
margin-bottom: 100px;
}

#FreeeData ul{
counter-reset: data;
}

#FreeeData li{
background:#fff;
box-shadow: 0px 0px 40px 0px rgba(121, 122, 122, 0.24);
padding: 30px 50px;
display: flex;
align-items: center;
gap:5%;
margin-bottom: 30px;
border-radius: 10px;
}

#FreeeData .freee_data_right{
flex: 1
}

#FreeeData .freee_data_left{
width: 200px;
}

#FreeeData .freee_data_left img{
display: block;
width: 100%;
max-width:200px;
height: auto;
margin: 0 auto;
}

#FreeeData li h4{
position: relative;
font-size:24px;
margin-bottom:30px
}

#FreeeData li h4 span{
position: relative;
padding-left: 50px;

}

#FreeeData li h4 span:before{
position: absolute;
left:0;
top:0;
width: 40px;
height: 40px;
border-radius: 20px;
background: #333;
color:#fff;
counter-increment: data;
content: "0" counter(data);
font-weight: normal;
text-align: center;
line-height: 1.5
}

#ServiceMvWrap{
width:100%;
background:url("../img/service_mv.jpg") no-repeat top center; 
background-size:cover;
}

#ServiceMv{
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 100px 30px 150px;
}

#ServiceMv h2{
font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
font-size:90px;
color:#fff;
padding-bottom: 50px;
text-align: center;
background:url("../img/service_h2_bg.png") no-repeat bottom center; 
margin: 0 auto 50px;
}

.service_cate{
display: flex;
justify-content: space-around;
margin-bottom: 50px
}

.service_cate div{
width: 50%
}

.service_cate img{
display: block;
width: 100%;
max-width:594px;
height: auto;
margin: 0 auto
}



#ServiceMv p{
font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
font-size:39px;
color:#fff;
text-align: center;
}

#Messagewrap{
position: relative;
width:100%;
background:url("../img/message_bg.jpg") no-repeat bottom center; 
background-size:cover;
padding-top: 100px;
}

#Messagewrap:before{
position:absolute;
content: "";
left: 50%;
top:-10px;
transform: translate(-50% , 0);
width:500px;
height: 80px;
background: url("../img/service_arrow.png") no-repeat top center; 
}

#Message{
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 50px 30px 200px;
}

#MessageH3Wrap{
position: relative;
width: 100%;
margin: 0 auto 50px
}
#MessageH3Wrap img{
position: absolute;
right:0;
top:-50px;
}

#Message h3{
font-size:50px;
color: #407bf8;
line-height: 1.6
}

#Message h3 .b_bra{
font-size:55px;
background-image: -webkit-linear-gradient( -45deg, rgb(124,103,50) 0%, rgb(138,115,56) 42%, rgb(152,126,61) 100%);
padding:0 10px;
border-radius: 5px;
color: #fff;
margin: 0 10px;
}

#Message h3 .f_94{
font-size:94px;
}

#Message h3 .f_72{
font-size:74px;
}

#Message h3 .f_64{
font-size:64px;
}

#Message p{
font-size:16px;
text-align:center;
margin: 0 auto 20px
}

#Message p.message_text{
font-size:24px;
font-weight: bold;
margin: 50px auto 0
}

#Message p.message_matome{
font-size:30px;
font-weight: bold;
}

.message_br{
display:none;
}

#Flow {
width: 100%;
max-width: 1200px;
padding: 110px 30px 100px;
background-image: url("../img/flow_title.png");
background-repeat: no-repeat;
background-position: top center;
background-size: 876px 156px;
background-color: #fff;
margin:0 auto  
}

#Flow h3 {
font-size: 40px;
color: #987e3d;
margin: 0 auto 60px;
text-align: center;
line-height: 1.8;
}

#Flow ul {
counter-reset: flow;
}

#Flow li.flow{
position: relative;
width: 100%;
max-width: 1100px;
background:#ecf2fa;
padding:40px 30px;
display: flex;
align-items: center;
gap:6%;
margin:0 auto 80px;
}

#Flow li.flow:last-of-type{
margin: 0 auto;
}

.flow_data_left{
width: 50%
}

.flow_data_right{
flex: 1
}

.flow_data_right img{
display: block;
width:90%;
max-width:350px;
height: auto;
margin: 0 auto;
}

#Flow li.flow#Flow01{
display: block;
}

#Flow li.flow#Flow01 .flow_data_left{
width: 100%
}

#Flow li.flow:after{
position: absolute;
content:"";
width:70px;
height:36px;
bottom:-63px;
left: 50%;
transform: translate(-50%, 0);
background: url("../img/flow_arrow.png") no-repeat center;
background-size:70px 36px; 
}

#Flow li.flow:last-of-type:after{
display: none
}

#Flow h4{
position: relative;
font-size: 28px;
margin: 0 0 30px 0;
padding-left: 70px;
color:#987e3d
}

#Flow li h4::before {
position: absolute;
left: 0;
top: -3px;
width: 52px;
height: 52px;
border-radius: 26px;
background: #987e3d;
color: #fff;
counter-increment: flow;
content: "0" counter(flow);
font-weight: normal;
display: flex;
justify-content: center;
align-items: center;
}

#Flow p{
padding-left: 70px;
}

#Flow .online{
background: #fff;
border:solid 1px #df5a3a;
margin:20px 0 0 70px;
}

#Flow .online p{
color: #df5a3a;
padding: 15px
}

#Flow li.flow ul {
width:100%;
max-width: 900px;
display: flex;
justify-content: space-between;
margin: 50px auto 0

}

#Flow li.flow li{
width: 90%;
display: flex;
justify-content: center;
margin: 0 auto
}

#Flow .to_tel img {
display: block;
width:100%;
max-width: 360px;
height: auto
}

#Flow .to_mail a{
display: block;
width:90%;
max-width:400px;
color:#fff;
background: #084285;
font-size:20px;
padding:20px 10px;
text-align: center;
font-weight: bold;
border-radius: 5px;
text-decoration: none
}


#Flow .to_mail a:hover{
background: #0c66cd;
}


#Flow .to_mail a span{
padding-left:35px;
background: url("../img/flow_mall.png") no-repeat left center;
}

#ContactBar{
width: 100%;
background: url("../img/contact_border.jpg") no-repeat center;
background-size:cover;
padding: 40px 30px;
}

#ContactBar p{
font-weight: bold;
font-size:30px;
color:#fff;
text-align: center
}

#ContactBar img{
display: block;
margin: 10px auto 0
}

#Contact {
width: 100%;
max-width: 1200px;
padding: 110px 30px;
background-image: url("../img/contact_title.png");
background-repeat: no-repeat;
background-position: top center;
background-size: 1168px 156px;
background-color: #fff;
margin:0 auto  
}


#Contact a.tel-link{
display: block;
width: 90%;
max-width: 432px;
margin: 0 auto 100px;
}

#Contact a img{
width: 100%;
height: auto;
}

#MailForm{
width: 100%;
max-width: 940px;
margin: 0 auto
}

#MailForm a{
color: #084285
}

#MailForm table{
width: 100%;
margin: 100px auto;
border: none;
}

#MailForm th{
width: 300px;
padding: 20px;
background: #f5f5f5;
border-bottom: 20px solid #fff;
font-size: 16px;
font-weight: bold;
text-align: left
}

#MailForm td{
padding: 20px 30px;
border: none;
text-align: left;
font-weight: normal;
}

#MailForm li{
margin-bottom: 10px;
}

.txtbox{
width:100%;
max-width: 400px;
height: 30px;
padding: 5px;
border: solid 1px #cccccc;
border-radius: 3px;
font-size:16px;
}

#MailForm li .txtbox{
width:100%;
max-width: 300px;
}

#MailForm textarea{
width:100%;
max-width: 450px;
font-size:16px;
}

.require::after {
content: "*";
color: #F00;
}

.syousai.require span{
position: relative
}

.syousai.require span:after{
position: absolute;
content: "（複数選択可）";
top:20px;
left:0;
}

#Shitsumon{
display:block
}

#MailForm input[type="submit"] {
display: block;
width: 90%;
max-width: 140px;
height: 50px;
margin: 0 auto;
background: #987e3d;
cursor: pointer;
color: #fff;
font-size: 18px;
font-weight: bold;
border: none;
border-radius: 5px;
}

#MailForm input[type="submit"]:hover{
background: #796431;
}

#PcMail {
display: block;
position: fixed;
right: 0px;
bottom: auto;
top:calc(50% - 112px);
overflow: hidden;
z-index: 99;
float: right;
}

#PcMail a {
background-image: url( "../img/pc_mail.png");
background-repeat: no-repeat;
text-indent: -9999px;
display: block;
height: 224px;
width: 74px;
}

#PcMail a:hover{
opacity: 0.85
}




@media screen and (max-width: 1700px) {
#AboutWrap{
background-size:876px 156px, 1920px auto,100% auto;
}

#ConflictWrap{
background: url("../img/conflict_bg_pc.jpg") no-repeat left top;
background-size:30vw auto;
}

#Conflict{
width:calc(100% - 39vw);
margin-right: 10vw;
margin-left: 31vw;
}

#Conflict h4 {
font-size:calc(100vw * 45 / 1700);
}

#Case{
padding-bottom:0;
}

#SafetyMv {
background-position: center left -130px,center right -130px,center;
}
}


@media screen and (max-width: 1200px) {
.under_1200{
display:block;
}

#AboutWrap{
width: 100%;
padding:110px 30px; 
}

#Achivement .content_detail{
align-items:center;
}

#Achivement .content_detail_left{
width:60%;
}

#Achivement .content_detail_right{
width:40%;
display: flow-root;
}

#Achivement .content_detail_left p {
padding-left:0;
}

#Origin p {
font-size: 18px;
line-height: 2.0;
}

#Passion p{
text-align: center
}

#Passion p br{
display: block
}

#Reason03{
background-size: 30% auto;
padding:80px 30px 120px;
}

#Ayumu .reason_matome {
margin-top:calc(100vw * 70 / 1700);
}

#SafetyMv{
background-image:url("../img/safety_left_bg_1200.png"),url("../img/safety_right_bg_1200.png"),url("../img/safety_bg.jpg"); 
background-position:center left -50px,center right -50px,center;
}

#SafetyMv p .mb_only{
display: block
}

.freee_text .mb_only{
display: block
}

.freee_text img {
top:-20px;
right:calc(100vw * 70 / 1700);
}
}


@media screen and (max-width: 1150px) {
/*.mv_logo{
right:0;
}*/
.support_detail_left {
width: 55%;
}

#Message h3{
font-size:calc(100vw * 60 / 1150);
}

#Message h3 .b_bra{
font-size:calc(100vw * 70 / 1150);
padding:calc(100vw * 10 / 1150);
margin: 0 calc(100vw * 10 / 1150);
}

#Message h3 .f_94{
font-size:calc(100vw * 94 / 1150);
}

#Message h3 .f_72{
font-size:calc(100vw * 80 / 1150);
}

#Message h3 .f_64{
font-size:calc(100vw * 64 / 1150);
}

#MessageH3Wrap img {
right:0;
top:calc(100vw * -70 / 1150);
}

#Contact {
background-size:100% auto;
}
}



@media screen and (max-width: 980px) {
#SupportWrap {
background-size: 100% auto;
}

#ReasonWrap{
padding-right:0;
padding-left:0;
background-size: 100% auto;
}

#ReasonWrap .sub_h2 br.mb_only{
display: block
}

#ReasonWrap h2 + p{
padding: 0 30px;
}

#ConflictWrap{
background-image: url("../img/conflict_bg_mb.png"),url("../img/conflict_bg_right.jpg");
background-repeat:  no-repeat;
background-position: top left,top right;
background-size: 30% auto,100% auto;
padding-top: 100px;
}

#Conflict {
width: calc(100% - 30vw);
margin: 0 auto;
}

#Conflict h4{
text-align: center;
font-size:33px;
}

#TeamWrap {
padding-right:0;
padding-left:0;
padding-bottom: 0
}

#TeamContainer{
padding-bottom:0;
}

#Team .team_text p{
font-size:16px;
padding: 0 30px;
margin: 0 auto 40px;
}

#Team02 .team02_text{
text-align: left
}

#Team02 .team02_matome + .team02_matome{
text-align: center
}
.access_text .mb_only{
display: block
}
.access_detail {
gap: 2%;
}

.freee_text img{
width: 45%;
max-width:184px;
height: auto;
position: static;
display: block;
margin:  calc(100vw * 100 / 980) auto 0
}

#FreeeFlow ul{
width: 100%;
display:block;
}

#FreeeFlow li {
width: 90%;
max-width: 500px;
margin: 0 auto 100px;
}

#FreeeFlow li:last-of-type {
margin: 0 auto;
}

#FreeeFlow li:after {
background-color: transparent;
top:-80px;
left:50%;
transform: translate(-50%,0) rotate(90deg);
}
#FreeeSup h3{
background-size:100% auto;
padding:50px 0;
}
#ServiceMv h2 {
font-size:calc(100vw * 95 / 980);
padding-bottom: 50px;
background-size:840px auto;
margin: 0 auto 50px;
}
#MessageH3Wrap img {
right:0;
top:calc(100vw * -110 / 980);
}
.flow_data_left{
width: 60%
}
}/*リニューアル前から必要な記述*/


/*================================
この下からリニューアル用CSSを入れる
あとで切り取って移動もしくは、コメントアウトする
================================*/

/*
html, body {
	min-width: auto;
}
#HeaderWrapper,
#MenuWrapper,
#FooterWrapper{
display: none
}

@media screen and (max-width: 980px) {
.mv_logo {
width:calc(100vw * 230 / 980);
height: auto
}

#AboutWrap{
padding: 110px 0 0;
}

#AboutWrap .about_text{
padding:0 30px;
font-size:calc(100vw * 20 / 980);
}

#Achivement .content_detail_left{
width:65%;
}

#Achivement .content_detail_left h4 {
font-size: 22px;
}

#Support h2 + p .pc_only{
display: none
}
.support_detail_left,
.support_detail_right{
width: 50%;
}
.support_detail_left p {
padding-left: 0;
}
.support_detail_right li {
width: 80px;
height: 80px;
}

#SupportWrap {
background-size: 100% auto;
}

#ReasonWrap h2 + p br.pc_only{
display: none
}

#ReasonWrap .reason_matome {
text-align:left;
}

#ReasonWrap .reason_matome .pc_only{
display: none
}

#Conflict h4 {
font-size:calc(100vw * 34 / 980);
}

#Team02 .team02_text{
text-align: left
}

#Team02 .team02_matome{
text-align: left
}

#SafetyMv{
background-image:url("../img/safety_left_bg_mb.png"),url("../img/safety_right_bg_mb.png"),url("../img/safety_bg.jpg"); 
background-position:top left,bottom right,bottom;
background-size:60% auto,60% auto,cover;
padding:calc(100vw * 100 / 980) calc(100vw * 30 / 980);
}

#SafetyMv .mb_only{
display: block
}

#Soudan li{
width:31.5%
}

#Soudan li h4 {
font-size: 20px;
height: 60px;
}

#Soudan p {
font-size: 16px;
}
.access_text {
  font-size: 16px;
}
.access_detail{
align-items: center
}

.access_detail_right{
width:60%;
}

.access_detail_right h4{
font-size: 28px;
}

.access_matome {
font-size:calc(100vw * 30 / 980);
padding: calc(100vw * 100 / 980) calc(100vw * 160 / 980);
}

.security_text {
font-size:calc(100vw * 19 / 980);
text-align: left;
}

.freee_sup_right {
width: 55%;
}

#ServiceMv p .mb_only{
display: block
}
#MessageH3Wrap img {
right:0;
top:calc(100vw * -110 / 980);
max-width:150px;
height: auto
}
#Message p.message_text{
margin-bottom: 50px;
}

#Message p.message_text .mb_only{
display: block
}
}*/

/*================================
この上にリニューアル用CSSを入れる
あとで切り取って移動もしくは、コメントアウトする
================================*/

@media screen and (max-width: 767px) {
.pc_only{
display: none;
}

.mb_only{
display:block;
}

h2 {
font-size:calc(100vw * 44 / 767);
margin: 0 auto calc(100vw * 100 / 767);
}

p{
font-size: 14px;
line-height: 1.6;
}

p.sub_h2 {
font-size:calc(100vw * 30 / 767) !important;
margin: 0 auto calc(100vw * 70 / 767) !important;
}

.f_32{
font-size:calc(100vw * 40 / 767);
}

.f_45{
font-size:calc(100vw * 45 / 767);
}

#MvWrap {
padding:0;
background: none
}


#MvWrap img{
display: block;
width: 100%;
height: auto
}

/*#MvWrap img.mv_logo{
display:none;
}*/

#AboutWrap{
width: 100%;
padding:16vw 0 0; 
background-image:url("../img/about_title.png"),url("../img/about_top_bg_sp.jpg"); 
background-repeat:  no-repeat;
background-position: top center,top center;
background-size:auto 15vw, 100% auto;
}

#AboutWrap h2{
font-size:calc(100vw * 44 / 767) ;
margin: 0 auto calc(100vw * 70 / 767);
padding:0 calc(100vw * 30 / 767) 
}

#AboutWrap .about_text{
text-align: left;
font-size:16px;
margin: 0 auto calc(100vw * 50 / 767);
padding:0 calc(100vw * 30 / 767) 
}

#AchivementWrap{
margin: calc(100vw * 100 / 767) auto calc(100vw * 140 / 767);
background-image:url("../img/achivement_title.png"),url("../img/achivement_bg.jpg"); 
background-repeat:  no-repeat;
background-position: top center,top center;
background-size:105% auto,cover;
padding:16vw calc(100vw * 30 / 767) 0;
margin-bottom: 0
}

#Achivement h3{
font-size:calc(100vw * 44 / 767);
margin: 0 auto calc(100vw * 60 / 767);
}

#Achivement h3 + p{
font-size:16px;
margin: 0 auto calc(100vw * 70 / 767);
text-align: left
}

#Achivement .content_wrap{
width: 100%;
padding:calc(100vw * 70 / 767) 0;
}

#Achivement .content_wrap:before{
width: calc(100vw * 100 / 767);
}

#Achivement .content_detail{
display: block;
margin: 0 auto  calc(100vw * 70 / 767);
padding-bottom: calc(100vw * 50 / 767);
}

#Achivement .content_detail_left{
width:100%;
}
#Achivement .content_detail_right{
width:100%;
}

#Achivement .content_detail img{
display: block;
margin: 0 auto
}
#Achivement .content_detail_left h4 {
font-size: calc(100vw * 40 / 767);
margin: 0 0 calc(100vw * 40 / 767);
line-height: 1.7;
padding-left: 70px;
}

#Achivement .content_detail_left h4:before {
position: absolute;
content:"";
width: 60px;
height:50px;
background: url("../img/achivement01.png") no-repeat center;
background-size:100% auto;
top:50%;
left: 0;
transform: translate(0,-50%)
}

#Achivement .content_detail_left h4 .gradient {
padding:calc(100vw * 10 / 767) calc(100vw * 10 / 767) 0;
}

#Achivement .content_detail_left p {
padding-left:0;
margin-bottom:calc(100vw * 50 / 767);
}

#Achivement .content_detail img {
box-shadow:none;
}

#SupportWrap{
padding:16vw calc(100vw * 30 / 767)  calc(100vw * 70 / 767);
background-size:auto 15vw;
}

#Support h2 .f_ora{
font-size:calc(100vw * 52 / 767);
}

#Support h2 + p{
text-align:left;
font-size:16px;
margin: 0 auto calc(100vw * 70 / 767);
line-height: 1.8;
}

.support_detail{
padding:calc(100vw * 50 / 767) calc(100vw * 30 / 767) ;
flex-direction: column;
}

.support_single .support_detail:before {
font-size:calc(100vw * 40 / 767);
top:calc(100vw * 8 / 767);
left: calc(100vw * 10 / 767);
}

.support_detail_left{
width: 100%;
padding-right:0;
margin-bottom: calc(100vw * 30 / 767)
}

.support_detail_left h4{
font-size:20px;
margin-bottom:calc(100vw * 40 / 767);
padding-left:50px;
line-height:1.6;
color: #f44c24
}

.support_single h4:before,
.support_double h4:before{
font-size: 37px;
}

.support_detail_left p{
padding-left:0
}

.support_detail_right{
width: 100%;
max-width: 440px;
margin: 0 auto;
}

#TrustWrap{
background-image:url("../img/trust_title.png"),url("../img/trust_bg.jpg"); 
background-size:auto 15vw,cover;
padding: 16vw calc(100vw * 30 / 767) calc(100vw * 70 / 767);
}

#TrustWrap p{
font-size:14px;
margin: 0 auto calc(100vw * 40 / 767);
}

#TrustWrap p.trust_irai{
font-size:15px;
font-weight: bold;
}

#ReasonWrap{
padding: 16vw 0 calc(100vw * 70 / 767);
background-size: auto 15vw,contain;
}

#ReasonWrap h2{
padding: 0 calc(100vw * 42 / 767);
margin: 0 auto calc(100vw * 80 / 767);
}

#ReasonWrap p {
font-size: 14px;
margin: 0 auto calc(100vw * 50 / 767);
}

#ReasonWrap h2 + p{
text-align:left;
font-size: 16px;
margin: 0 auto calc(100vw * 70 / 767);
line-height: 1.6;
padding: 0 calc(100vw * 30 / 767);
}

#ReasonContainer{
margin:0 auto;
}
.reason{
padding:calc(100vw * 100 / 767) 0 0;
}

.reason .sub_h3{
font-size:calc(100vw * 18 / 767);
margin: 0 auto calc(100vw * 40 / 767);
}

.reason .sub_h3 .gradient{
padding:calc(100vw * 10 / 767) calc(100vw * 20 / 767);
}

.reason .sub_h3 .gradient span{
width:calc(100vw * 30 / 767);
height:calc(100vw * 30 / 767);
background-color: transparent;
color:#fff;
}

.reason h3{
font-size:calc(100vw * 44 / 767);
background: url("../img/reason01_title.png") no-repeat center;
background-size:90% auto; 
padding:calc(100vw * 10 / 767);
padding-bottom:calc(100vw * 10 / 767);
margin-bottom:calc(100vw * 70 / 767);
line-height: 2
}

#ConflictWrap{
background-image: url("../img/conflict_bg_mb.png"),url("../img/conflict_bg_right.jpg");
background-repeat:  no-repeat;
background-position: top left,top right;
background-size: 30% auto,100% auto;
padding:calc(100vw * 100 / 767) calc(100vw * 30 / 767) ;
}

#Conflict {
 width: 100%;
 margin: 0 auto;
}

#Conflict h4{
font-size:32px;
}

#Conflict dt {
font-size: 22px;
padding: 10px 0 0;
margin-bottom: 20px;
}

#Conflict dd p{
font-size: 14px;
margin-bottom:calc(100vw * 30 / 767);
}

#Origin {
padding:calc(100vw * 30 / 767);
display: block;
}

#Origin p {
font-size: 15px;
margin-bottom: 0;
line-height: 1.8;
}

#Reason02{
padding:calc(100vw * 100 / 767) calc(100vw * 30 / 767) calc(100vw * 70 / 767);
}

#Reason02 h3{
margin:0 auto calc(100vw * 70 / 767);
}

#Reason02 h3 + p{
font-size:14px;
line-height: 1.8;
text-align: left
}

#Passion{
margin: 0 auto calc(100vw * 50 / 767);
}

#Passion p{
font-size:18px;
margin-bottom: 0;

}
#Passion ul{
padding:calc(100vw * 25 / 767);
}

#Passion li{
font-size:14px;
font-weight: normal;
margin-bottom:0;
padding: 10px 0px 15px 35px;
}

#Passion li:before{
background: url("../img/reason02_check.png") no-repeat center #fff;
width: 25px;
height: 25px;
left: 0;
top:5px;
transform: translate(0,0)
}

#ReasonWrap .reason_matome {
font-size: 16px;
text-align:left;
}

#Reason03{
background-size: 40% auto;
padding:calc(100vw * 100 / 767) calc(100vw * 30 / 767) calc(100vw * 70 / 767);
}

#Case{
padding: 16vw 0 0;
background-size: auto 15vw;
}

#Case h2{
margin: 0 auto calc(100vw * 70 / 767);
}

#Case h2 + p {
text-align:left;
font-size: 16px;
margin: 0 auto calc(100vw * 70 / 767);
line-height: 1.6;
padding:0 calc(100vw * 30 / 767);
}

.episode {
margin:0 auto;
padding-bottom:calc(100vw * 70 / 767);
}

.epi_h3_wrap {
background-image: url("../img/episode01_mb.jpg");
background-size: 767px auto;
margin-bottom: calc(100vw * 50 / 767);
background-position: center;
}

#Episode02 .epi_h3_wrap {
background-image: url("../img/episode02_mb.jpg");
background-size: 767px auto;
margin-bottom: calc(100vw * 50 / 767);
background-position: center;
}

.epi_h3 {
padding:calc(100vw * 50 / 767) calc(100vw * 30 / 767);
}

.epi_h3_wrap h3 {
font-size:calc(100vw * 40 / 767);
padding-bottom:calc(100vw * 30 / 767);
margin-bottom:calc(100vw * 30 / 767);
}

.epi_h3_wrap h3:after {
width:calc(100vw * 100 / 767);
}

.epi_h3_wrap h3 + p {
font-size:14px;
}

.epi_box{
padding:0 calc(100vw * 30 / 767);
}

.epi_detail{
padding:calc(100vw * 20 / 767);
}

.epi_detail h4{
font-size:17px;
margin: 0;
padding: 16px 0px 17px 60px;
border-bottom: dotted 2px #e99b54;
background:url("../img/case01_anshin.jpg") no-repeat left center;
background-size: auto 45px;
}

.more {
padding-left:0px;
padding-right:0px;
}

#TeamWrap {
padding: 16vw 0 0;
background-size: auto 15vw,contain;
}

#TeamWrap h2{
font-size: calc(100vw * 44 / 767);
margin: 0 auto calc(100vw * 70 / 767);
}

#Team .team_text p{
font-size: 14px;
padding: 0 calc(100vw * 30 / 767);
margin: 0 auto calc(100vw * 40 / 767);
}

#Team01{
background-image:url("../img/team01_title_mb.png"),url("../img/grid.jpg"); 
}


#Team p.sub_h3 {
font-size: calc(100vw * 30 / 767) !important;
margin: 0 auto calc(100vw * 70 / 767) !important;
}

.team_detail{
padding:calc(100vw * 80 / 767) calc(100vw * 30 / 767);
margin: 0 auto
}
.team .sub_h3{
font-size:24px;
font-weight: bold;
text-align: center;
color:#084285;
margin-bottom: 40px;
}
.team h3{
font-size:calc(100vw * 47 / 767);
padding-bottom:calc(100vw * 50 / 767);
margin-bottom: calc(100vw * 80 / 767);
}

.team h3:after{
width: calc(100vw * 100 / 767);
}

.team h3 span{
position:relative;
padding:0 40px;
}

.team h3 span:before{
width:calc(100vw * 40 / 767);
height:calc(100vw * 40 / 767);
margin-right: calc(100vw * 20 / 767);
background-size: calc(100vw * 40 / 767);

}

.team h3 span:after{
width: calc(100vw * 50 / 767);
height: calc(100vw * 50 / 767);
margin-left: calc(100vw * 20 / 767);
background-size: calc(100vw * 40 / 767);
}

.team p{
margin-bottom:calc(100vw * 40 / 767);
}

.team p span{
font-weight: bold
}

.team01_text {
text-align: left;
}

.team h4 + p{
text-align: center
}

#Team01 ul{
gap:10px;
margin:calc(100vw * 80 / 767) auto;
}

#Team01 ul li{
color:#fff;
width: calc(50% - 5px);
font-size:15px;
padding:15px 0;
margin-bottom: 0;
}

#Team02{
background-image:url("../img/team02_title_mb.png"),url("../img/grid.jpg"); 
}

#Team02 ul {
margin:calc(100vw * 80 / 767) auto;
}

#Team02 li {
font-size: 15px;
border-bottom: 1px dotted #ccc;
box-shadow:none;
margin-bottom: 0
}

#Team02 li:first-of-type{
border-top: 1px dotted #ccc;
}


#Team02 li span{
display: block
}

#Team02 .team02_matome{
font-size:14px;
text-align: left
}

#Team02 .team02_matome + .team02_matome{
text-align: left
}

#Team02 .team02_matome span{
font-size:16px;
}

#SafetyMv{
background-image:url("../img/safety_left_bg_mb.png"),url("../img/safety_right_bg_mb.png"),url("../img/safety_bg.jpg"); 
background-position:top left,bottom right,bottom;
background-size:60% auto,60% auto,cover;
padding:calc(100vw * 100 / 767) calc(100vw * 30 / 767);
}

#SafetyMv h2 {
font-size:calc(100vw * 50 / 767) ;
margin: 0 auto calc(100vw * 70 / 767) ;
}

#SafetyMv .safety_text p{
font-size: 16px;
text-align: left;
margin: 0 auto calc(100vw * 30 / 767);
line-height: 1.6;
}

#SafetyMv .safety_text p + p{
margin: 0 auto;
}

#SafetyMv p .mb_only{
display: none
}

#Soudan{
padding: calc(100vw * 100 / 767) calc(100vw * 30 / 767) calc(100vw * 70 / 767);
}

#Safety h3{
font-size: calc(100vw * 44 / 767);
margin: 0 auto calc(100vw * 70 / 767);
}


#Soudan p{
text-align:left;
font-size: 16px;
margin: 0 auto calc(100vw * 70 / 767);
line-height: 1.6;
}

#Soudan ul{
width: 100%;
display: block;
margin: calc(100vw * 70 / 767) auto 0
}

#Soudan li{
width: 100%;
margin-bottom: calc(100vw * 70 / 767)
}

#Soudan li:last-of-type{
margin-bottom:0
}


#Soudan li h4{
font-size: calc(100vw * 38 / 767);
margin: 0 auto  calc(100vw * 30 / 767);
height:auto;
}

#Soudan li p{
width: 100%;
max-width: 500px;
line-height: 1.6;
margin: 0 auto;
}

#AccessWrap{
background-size:1500px auto 
}

#Access{
padding: calc(100vw * 100 / 767) calc(100vw * 30 / 767) calc(100vw * 70 / 767);
}

.access_text .mb_only{
display:block;

}


#Safety .before_h3{
font-size: 16px;
margin: 0 auto calc(100vw * 50 / 767);
}

#Safety .before_h3 .gradient{
padding: calc(100vw * 13 / 767) calc(100vw * 20 / 767);
}


#Safety .before_h3 .gradient span {
width: calc(100vw * 30 / 767);
height: calc(100vw * 30 / 767);
background-color: transparent;
color: #fff;
}

#Access p.sub_h2 {
font-size: calc(100vw * 30 / 767) !important;
}

.access_text{
text-align:left;
font-size: 16px;
line-height: 1.6;
}

.access_detail{
display:block;
margin:calc(100vw * 100 / 767) auto 0;
}

.access_detail_even{
margin:calc(100vw * 100 / 767) auto;
}



.access_detail_right h4{
font-size:calc(100vw * 38 / 767);
background: url("../img/access_list.jpg") no-repeat left bottom 5px;
background-size:34px 33px ;
padding-left: 45px;
line-height: 1.6;
margin-bottom:calc(100vw * 30 / 767);
}

.access_detail_right h4 .before_h4{
font-weight: normal;
font-size:14px;
}

.access_detail_right{
margin-bottom:calc(100vw * 40 / 767);
width: 100%
}

.access_detail_right p {
  padding-left:0;
}

.access_detail img{
display:block;
margin: 0 auto;
width:90%;
max-width: 440px;
height: auto
}

.access_matome{
background-size:auto 50%;
font-size: 18px;
padding:calc(100vw * 100 / 767) 0px
}

#Security{
padding: calc(100vw * 100 / 767) calc(100vw * 30 / 767);
}

.security_text{
text-align:left;
font-size: 14px;
margin: 0 auto calc(100vw * 130 / 767);
line-height: 1.6;
}

#Security ul{
display: block;
margin-bottom:0
}

#Security li{
padding:calc(100vw * 90 / 767) calc(100vw * 30 / 767) calc(100vw * 50 / 767);
width: 90%;
margin:0 auto calc(100vw * 90 / 767)
}


#Security li h4{
font-size: calc(100vw * 38 / 767);
margin-bottom:calc(100vw * 50 / 767);
}

#Security li p{
font-size:14px;
}

.security_matome {
  font-size:calc(100vw * 30 / 767);
}

#FreeeMvWrap{
background-size:1500px auto,cover;
}

#FreeeMv{
padding:calc(100vw * 100 / 767) calc(100vw * 30 / 767) calc(100vw * 150 / 767);
}

#FreeeMv h2{
font-size: calc(100vw * 44 / 767);
margin: 0 auto calc(100vw * 80 / 767);
}

#FreeeMv h2 img {
margin: 0 auto calc(100vw * 50 / 767);
}

.freee_text p{
font-size: 16px;
margin: 0 auto calc(100vw * 30 / 767);
line-height: 1.6;
text-align: left
}

 .freee_text .mb_only {
    display: none;
  }

#FreeeStep{
padding:calc(100vw * 100 / 767) calc(100vw * 30 / 767) 
}

#FreeeStep h3{
font-size: calc(100vw * 44 / 767);
margin: 0 auto calc(100vw * 80 / 767);
}

.freee_step_text{
font-size:16px;
margin: 0 auto calc(100vw * 70 / 767);
text-align: left
}

#FreeeFlow{
background: none;
padding: 0
}

#FreeeFlow h4{
font-size:calc(100vw * 40 / 767);
background: url("../img/freee_step_title.png") no-repeat top center;
background-size:auto 100%; 
padding: calc(100vw * 40 / 767) 0;
margin: 0 auto;
}

#FreeeFlow h4 span{
font-size:calc(100vw * 35 / 767);
}

#FreeeFlow li {
padding:calc(100vw * 50 / 767) calc(100vw * 30 / 767) calc(100vw * 70 / 767);
}

#FreeeFlow h5 {
font-size:calc(100vw * 38 / 767);
margin: 0 auto calc(100vw * 50 / 767);
}

#FreeeFlow img{
display: block;
width: 100%;
max-width: 256px;
height: auto;
margin: 0 auto calc(100vw * 50 / 767)
}

#FreeeSup{
background: url("../img/freee_sup_arrow.gif") no-repeat center top;
padding:calc(100vw * 100 / 767) calc(100vw * 30 / 767) 0;
background-size: 50%;
}

#FreeeSup h3{
font-size:calc(100vw * 44 / 767);
margin:0 auto calc(100vw * 40 / 767);
padding: calc(100vw * 40 / 767) 0;
}
#FreeeSup h3 + p{
font-size:16px;
margin: 0 auto calc(100vw * 70 / 767);
text-align: left;
}

.freee_sup_wrap {
padding: calc(100vw * 100 / 767)  calc(100vw * 30 / 767);
background-size: 30vw auto;
background-position: top left;
}

.freee_sup_detail{
display:block;
}

.freee_sup_right{
width: 100%;
margin-bottom: calc(100vw * 40 / 767);
}

.freee_sup_right h4 {
font-size:calc(100vw * 38 / 767);
margin-bottom:calc(100vw * 50 / 767);
}

.freee_sup_right h4 span {
font-size:calc(100vw * 33 / 767);
}
.freee_sup_right p {
font-size: 14px;
}
.freee_sup_left img{
width: 80%
}

#FreeeData {
padding:calc(100vw * 100 / 767) calc(100vw * 30 / 767);
background:#fff 
}
#FreeeData h3{
font-size: calc(100vw * 44 / 767);
margin: 0 auto calc(100vw * 70 / 767);
}

#FreeeData h3 .sub_h3{
font-size: calc(100vw * 34 / 767);
margin-bottom: calc(100vw * 30 / 767);
}
#FreeeData h3 .sub_h3 span {
  font-size: calc(100vw * 30 / 767);
}
#FreeeData h3 + p{
font-size:16px;
margin: 0 auto calc(100vw * 70 / 767);
text-align: left;
}

#FreeeData li{
padding:calc(100vw * 30 / 767) calc(100vw * 30 / 767) calc(100vw * 70 / 767);
display:block;
margin-bottom:calc(100vw * 50 / 767);
box-shadow:none;
border-bottom:solid 1px #ccc;
}

#FreeeData li:last-of-type{
border-bottom:none;
margin-bottom:0;
}

#FreeeData .freee_data_left{
width: 150px;
margin: 0 auto calc(100vw * 50 / 767)
}

#FreeeData .freee_data_left img{
display: block;
width: 100%;
max-width:200px;
margin: 0 auto;
}

#FreeeData li h4{
text-align: center;
font-size:calc(100vw * 38 / 767);
margin-bottom:calc(100vw * 50 / 767)
}

#FreeeData li h4 span{
padding-left:calc(100vw * 60 / 767);
font-size: calc(100vw * 35 / 767);
}

#FreeeData li h4 span:before{
top:50%;
width:calc(100vw * 50 / 767);
height: calc(100vw * 50 / 767);
border-radius:calc(100vw * 25 / 767);
transform: translateY(-50%);
font-size: calc(100vw * 30 / 767);
line-height: 1.6
}

#ServiceMv {
padding:calc(100vw * 100 / 767) calc(100vw * 30 / 767);
}
.service_cate{
display: block;
margin-bottom:calc(100vw * 50 / 767) 
}
.service_cate div{
width: 100%
}

#ServiceMv p {
font-size:calc(100vw * 38 / 767);
color: #fff;
text-align: center;
}

#Messagewrap{
padding-top:calc(100vw * 100 / 767);
}

#Messagewrap::before{
background-size: 50%;
}
#Message{
padding: calc(100vw * 50 / 767)  calc(100vw * 30 / 767)  calc(100vw * 250 / 767);
}
#MessageH3Wrap{
margin: 0 auto calc(100vw * 90 / 767)
}

#Message h3{
text-align: center
}

#MessageH3Wrap img{
position: static;
display: block;
width:90%;
max-width: 350px;
margin: 50px auto;
height: auto
}

#Message p {
text-align: left;
}


#Message p.message_text{
text-align: center;
font-size:calc(100vw * 30 / 767);
margin:calc(100vw * 100 / 767) auto calc(100vw * 70 / 767) ;
line-height: 2.0
}

#Message p.message_matome{
text-align: center;
font-size:calc(100vw * 32 / 767);
}

#Flow {
padding: 16vw calc(100vw * 30 / 767)  calc(100vw * 100 / 767);
background-size: auto 15vw;
}

#Flow h3 {
font-size: calc(100vw * 44 / 767);
margin: 0 auto calc(100vw * 60 / 767);
}

#Flow li.flow{
display: block
}

#Flow li.flow{
padding:calc(100vw * 40 / 767) calc(100vw * 30 / 767);
}

.flow_data_left{
width: 100%;
margin-bottom: calc(100vw * 50 / 767);
}

#Flow h4{
font-size:calc(100vw * 35 / 767);
margin: 0 0 calc(100vw * 30 / 767) 0;
padding-left:calc(100vw * 70 / 767);
}

#Flow li h4::before {
top: calc(100vw * 3 / 767);
width: calc(100vw * 52 / 767);
height: calc(100vw * 52 / 767);
border-radius: calc(100vw * 25 / 767);
font-size: calc(100vw * 32 / 767);
}

#Flow li.flow ul {
display:block;
margin: calc(100vw * 100 / 767) auto 0;
}

#Flow li.flow li.to_tel{
margin-bottom: calc(100vw * 70 / 767);
}

#Flow .to_mail a{
font-size:16px;
}

#Flow p{
padding-left:0;
}

#Flow .online{
margin: calc(100vw * 20 / 767) 0 0 0
}

#Flow .online p {
padding:calc(100vw * 20 / 767);
}

#ContactBar{
padding: 40px calc(100vw * 30 / 767);
}

#ContactBar p{
font-size:calc(100vw * 36 / 767);
}

#Contact {
padding: 16vw calc(100vw * 30 / 767)  calc(100vw * 100 / 767);
background-size: auto 14vw;
}

#Contact a.tel-link {
margin: 0 auto calc(100vw * 100 / 767);
}

#MailForm table {
margin:calc(100vw * 100 / 767) auto;
}

#MailForm th{
width: 100%;
padding:20px calc(100vw * 20 / 767);
border-bottom:none;
font-size: 15px;
display: block
}

#MailForm td{
padding: 30px calc(100vw * 30 / 767);
display: block
}

.syousai{
height: 80px;
}

#MailForm input[type="submit"] {
  font-size: 16px;
}
.PageTop{
right: 64px;
bottom: 20px;
}
}



@media screen and (max-width: 450px) {
#AboutWrap .about_text{
font-size:14px;
}

#Achivement h3 + p{
font-size:15px;
}

#Support h2 + p{
font-size:15px;
}
.support_detail_right li {
width: 20vw;
height: 20vw;
font-size: 13px;
}

#ReasonWrap h2 + p{
font-size: 15px;
}

#ReasonWrap p.sub_h3{
font-size:calc(100vw * 16 / 450);
}

#Conflict h4{
font-size:calc(100vw * 32 / 450);
}

#Conflict dl {
padding-left:0;
padding-top:110px;
}

#Conflict dl.conflict01,
#Conflict dl.conflict02{
background-position: top center;
}

#Passion p{
font-size:calc(100vw * 18 / 450);
text-align: center;
padding: 15px calc(100vw * 5 / 450)
}

#Case h2 + p {
font-size: 15px;
}

.epi_detail h4 {
font-size: 16px;
}

#Team01 ul li{
width: 100%;
max-width: 240px;
}

#SafetyMv .safety_text p {
font-size: 15px;
}

#SafetyMv h2 {
 font-size: calc(100vw * 32 / 450);
}

#Safety .before_h3 {
font-size:calc(100vw * 16 / 450);
}

#Soudan p {
font-size: 14px;
}

.access_text{
font-size: 14px;
}

.access_text .mb_only{
display:none;
}

.access_matome{
font-size:calc(100vw * 21 / 450);
}

#Security li{
margin:0 auto 50px
}
#Security li.security03{
margin:0 auto 40px
}

#Security li:before{
width:70px;
height:70px;
background-size:38px auto;
border-radius: 35px;
top:-35px;
left: 50%;
transform: translate(-50% ,0)
}

.security_matome {
font-size:calc(100vw * 18 / 450);
text-align: left
}

.security_matome br{
display: none
}

#FreeeMvWrap{
background-size:1000px auto,cover;
}

.freee_text p{
font-size: 15px;
}

#FreeeMv h2 img {
width: 120px;
height: auto;
margin: 0 auto 40px;
}

.freee_step_text {
font-size: 15px;
}
#FreeeSup h3 + p{
font-size:15px;
}

#FreeeData h3 + p{
font-size:15px;
}

#Message p {
font-size: 15px;
}

#Message p.message_text{
font-size:calc(100vw * 20 / 450);
}

#Message p.message_matome{
font-size:calc(100vw * 25 / 450);
}

.message_br{
display:block;
}

#Message h3 {
 font-size: calc(100vw * 25 / 450);
 line-height: 2;
}

#Message h3 .f_94 {
font-size: calc(100vw * 50 / 450);
line-height: 1.0;
}

#Message h3 .f_64 {
font-size: calc(100vw * 40 / 450);
}
}








/*お問合せ完了画面*/


#Complete {
width: 100%;
background-image: url(../img/under_bg.gif);
background-repeat: repeat-x;
overflow: hidden;
margin: 0px auto 40px;
}

#Complete #Mv {
width: 980px;
background: url(../img/page_mv.jpg) no-repeat top center;
margin: 0px auto 40px;
color: #008207;
font-size: 30px;
padding-top: 67px;
padding-left: 20px;
padding-bottom: 63px;
}


#Complete #Thanks {
width: 100%;
max-width: 980px;
padding:50px 100px;
margin:0 auto;
}

#Complete #Thanks p{
font-size: 16px;
line-height: 40px;
margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
#Complete {
  background-image:none;
}
#Complete #Mv {
font-size: 17px;
background: #49ab4e;
color: #fff;
padding: 20px 20px 15px 10px;
margin: 0px auto;
}

#Complete #Thanks {
padding:50px 30px;
}
#Complete #Thanks p{
font-size: 14px;
}
}



