@charset "utf-8";
/*-------------------------------------------
【下層】ヘッダー画像
-------------------------------------------*/
#sub_top {
background: url(../img/sub_top_bg.jpg) repeat-x center 0 fixed;
background-size: auto;
line-height: 1.2;
position: relative;
width: 100%;
}
#sub_top .overlay {
background:rgb(83 166 233 / 60%);
}
#sub_top h2{
/*font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; */
font-size: 24px;
color: #ffffff;
text-align: center;
font-weight: 400;
letter-spacing: 0.3em;
padding: 200px 0 65px;
width: fit-content;
margin: 0 auto;
line-height: 1.2;
/* text-shadow: #0b3b60 1px 1px 0px; */
}
#sub_top h2 .en {
display: block;
font-size: 60%;
padding-top: 5px;
letter-spacing: 5px;
}

@media screen and (max-width:1280px) {
#sub_top {
background: url(../img/sub_top_bg.jpg) repeat-x center 0 scroll;
background-size: cover;
}
#sub_top h2 {
font-size: 22px;
padding: 115px 0 60px;
}
}

@media screen and (max-width:599px) {
#sub_top h2 {
font-size: 18px;
padding:95px 0 30px;
}
}

/* ----------------------------------------
pankuzu
------------------------------------------- */
.pankuzu {
font-size: 14px;
width: 100%;
padding: 0.5em;
background: #f1f1e4;
}
.pankuzu ul {
width: 96%;
max-width: 1280px;
margin-right: auto;
margin-left: auto;
}
.pankuzu li {
display: inline-block;
}
.pankuzu li a {
text-decoration:underline;
color: #432b18;
}
.pankuzu li::after {
content: ">";
padding-left: 10px;
padding-right: 10px;
}
.pankuzu li a:hover {
color: #432b18;
}
.pankuzu li i {
padding-right: 5px;
}
.pankuzu li:last-child::after {
display: none;
}
@media screen and (max-width:599px) {
.pankuzu {display: none;}
}

/*------------------------------------------
【下層】会社概要
------------------------------------------*/
.company_photo img{
box-shadow: #c5e98c 10px 10px 0px;
margin-bottom: 30px;
display: block;
border-radius: 10px;
}
.company_photo .btn_more a {
color: #fff;
background: #93cf34;
border: #93cf34 1px solid;
}
.company_photo .btn_more a:hover {
opacity: 0.8;
}
.company_photo .btn_more a:before {
content: "\f101";
font-family: FontAwesome;
margin-right: 1em;
color: #fff;
font-size: 100%;
}

.table_08 {
width: 100%;
border-collapse: collapse;
border-spacing: 0;
margin: 0em auto;
}
.table_08 th,
.table_08 td{
text-align: center;
line-height: 1.4;
padding: 1em 1.5em;
vertical-align: middle;
/*white-space: nowrap;*/
}
.table_08 th {
width: 16%;
background: #e6f5e1;
border: #93cf34 1px solid;
}
.table_08 td {
border: #93cf34 1px solid;
background: #fff;
text-align: left;
}
.table_08 th.c1 {
border: #93cf34 1px solid;
}
/*.table_08 td:first-child {
background: #f7f7ec;
}*/
@media screen and (max-width:768px) {
.company_photo img{
width: 250px;
}
.table_08 th {
width: 28%;
text-align: left;
}
.table_08 th,
.table_08 td{
padding: 1em;
}
}

/* ----------------------------------------
【HOME】イントロ
-------------------------------------------*/
.btn_top a{
display: block;
color: #e71c1d;
border: #e71c1d 3px solid;
text-align: center;
font-weight: bold;
padding: 0.5em;
margin: 1.2em auto 2.2em;
border-radius: 10px;
}
.btn_top a:before {
content: "\f138";
font-family: FontAwesome;
margin-right: 1em;
font-size: 100%;
}
.btn_top a:hover{
background: #e71c1d;
color: #ffffff;
border: #e71c1d 3px solid;
}
section#intro {
background: #bae3f9 url(../img/intro_bg_rep.jpg) repeat-x bottom center scroll;
padding: 0;
}
section#intro .bg {
background: url(../img/intro_bg.jpg) no-repeat bottom center scroll;
margin: 0;
padding: 0px 0 290px;
}
section#intro h2{
padding-top:100px;
}
.intro_text{
text-align: center;
padding: 30px;
}

@media screen and (max-width:1023px) {
section#intro {
background:#fefef6 url(../img/intro_bg.jpg) no-repeat top center scroll;
height: auto;
padding-top: 2em;
}
section#intro h2 {
padding-top: 2em;
}
section#intro .intro_text {
text-align: left;
padding: 20px;
}
.btn_top a {
margin: 2em auto 2em;
}
}

/*------------------------------------------
【HOME】特徴
------------------------------------------*/
.p-icon {
color: #fff;
background: #e71c1d;
padding: 0.5em 1.5em;
margin-bottom: 0.5em;
font-weight: bold;
font-size: 75%;
border-radius: 5px;
display: block;
width: fit-content;
line-height: 1.0;
}

.point ul {
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
align-content: space-around;
align-items: stretch;
flex-direction: row;
justify-content: flex-start;
}
.point ul li {
width: 30%;
margin: 2% 1.5%;
border-radius: 15px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
position: relative;
}

.point ul li .photo img {
width: 100%;
max-width: 100%;
border-radius: 15px 15px 0 0;
}

.point ul li .title {
color: #93cf34;
font-size: 165%;
font-weight: bold;
padding: 1em 0 0.5em;
display: block;
letter-spacing: 2px;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}

.point ul li .txt {

}
.point .balloon {
width:fit-content;
position: absolute;
top: -30px;
left: 30px;
margin-left: -50px;
z-index: 100;
}
.point .balloon img {
width: auto;
}
.campaign_bnr{
    width: 430px;
}
@media screen and (max-width:1023px) {
.point ul {
width: 100%;
display: block;
margin: 0 auto;
}
.point ul li {
width: 500px;
max-width: 90%;
margin: 6% auto 12%;
}
.point ul li .photo {
/*height: 250px;*/
overflow: hidden;
}
.point ul li .title {
font-size: 145%;
letter-spacing: 0;
padding-bottom: 0.5em;
}
}

@media screen and (max-width:599px) {
.point ul li {
/*height: 300px;*/
}
.point ul li .photo {
/*height: 200px;*/
overflow: hidden;
}
.point .balloon img {
width: 80%;
margin: 10px auto 0;
display: block;
}
}

/*-------------------------------------------
【HOME】サービス内容
-------------------------------------------*/
.pick_up_04 ul {
display: block;
margin-left: auto;
margin-right: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
max-width: 1400px;
/*	padding: 30px;*/
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-box-lines: multiple;
-moz-box-lines: multiple;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}
.pick_up_04 ul li {
width: 47%;
margin: 1.5%;
padding: 2%;
background: #fff;
border: #c8ea91 3px solid;
border-radius: 15px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
position: relative;
}
.pick_up_04 ul li a {
display: block;
overflow: hidden;
}
.pick_up_04 ul li a img {
width: 100%;
max-width: 100%;
-webkit-transition: 1.0s ease-out;
-moz-transition: 1.0s ease-out;
transition: 1.0s ease-out;
opacity: 1.0;
filter: alpha(opacity=100);
-ms-filter: "alpha( opacity=100 )";
border-radius: 15px;
}
.pick_up_04 ul li a:hover img {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-o-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}
.pick_up_04 ul li a .btn_check {
color: #FFF;
background-color: #93cf34;
border: #c8ea91 3px solid;
font-size: 140%;
padding: 0.8em 1em;
text-decoration: none;
line-height: 1;
letter-spacing: 1px;
display: block;
font-weight: bold;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
position: relative;
width: 100%;
border-radius: 50px;
text-align: center;
margin: -15px auto 10px;
z-index: 10;
}

.pick_up_04 ul li a .btn_check .small {
display: none;
margin-top:10px;
font-size: 70%;
}
.pick_up_04 ul li a .btn_check i {
padding-right: 10px;
padding-left: 5px;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
a:hover .btn_check i {
padding-right: 5px;
padding-left: 10px;
}
.pick_up_04 ul li .txt{
padding: 0em 1em;
font-size: 110%;
}

@media screen and (max-width:1024px) {
.pick_up_04 ul li a .btn_check {
font-size: 120%;
}
.pick_up_04 ul li .txt {
padding: 0em 1em 1em;
font-size: 100%;
}
}

@media screen and (max-width:768px) {
.pick_up_04 ul li {
width: 100%;
overflow: hidden;
}
.pick_up_04 ul li a {
/*max-height: 240px;*/
height: auto;
}
}

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

/*-------------------------------
【HOME】対応エリア
-------------------------------*/
section.message {	
background: url(../img/message_bg.jpg) no-repeat top center fixed;	
background-size: cover;
/*background-color: rgb(0 61 106 / 60%);*/	
}
section.message h2{
font-size: 200%;
line-height: 1.8;
/*font-weight: normal;*/
letter-spacing: 0.1em;
color: #ffffff;
text-align: center;
border-bottom: #ffffff dotted 1px;
padding:1em 1em 1em 1em;
margin-bottom: 1.5em;
clear: both;
}
section.message p {
letter-spacing: 2px;
border: #0173af 3px solid;
background: #fff;
padding: 1.5em 2em;
margin: 2em auto 1em;
border-radius: 15px;
font-size: 14px;
}

/*-- INFO SET --*/
.message .info_set_bg{
text-align: center;
max-width: 100%;
margin: 0px auto 0;
padding: 25px 15px;
background: url(../img/message_info.png) center center no-repeat scroll;
background-size: contain;
background-color: rgb(255 255 255 / 80%);
border-radius: 10px;
}
.message .info_txt{
font-size: 16px;
color: #000000;
padding:0;
margin: 0;
line-height: 1.4;
}
.message .info_txt .small{
color: #666;
padding-top: 5px;
display: block;
}
.message .info_tel01,
.message .info_tel02{
padding: 2px 0;
margin: 0 auto;
}
.message .info_tel01 a{
font-family: impact;
font-weight: bold;
color: #3b8bc8;
font-size: 40px;
line-height: 1.1;
letter-spacing: 1px;
padding-right: 0.5em;
}
.message .info_tel02 a {
font-family: impact;
font-weight: bold;
color: #666;
font-size: 34px;
line-height: 1.1;
letter-spacing: 1px;
}

/* BTN */
.message .btn_more a {
max-width: 100%;
width: 380px;
color: #FFF;
margin:0 auto;
padding: 15px 20px;
line-height: 1.4;
line-height: 1.0;
font-weight: bold;
font-size: 110%;
text-align: center;
text-decoration: none;
display: block;
border-radius: 70px;
border: #fff 2px solid;
box-shadow: #c9c9c9 5px 7px 0px;
background:#02a1e9;
background: linear-gradient( #559cec 0%, #0077b5 100%);
}
.message .btn_more a {/*グラデ*/
/*background: #02a1e9;
background: -moz-linear-gradient( #31b2ed 0%, #02a1e9 100%);
background: -webkit-gradient(linear, left top, left bottom, from(#31b2ed), to(#02a1e9));
background: -webkit-linear-gradient( #31b2ed 0%, #02a1e9 100%);
background: -o-linear-gradient( #31b2ed 0%, #02a1e9 100%);
background: linear-gradient( #31b2ed 0%, #02a1e9 100%);*/
}

.message .btn_more a:hover {
opacity: 0.85;
background: linear-gradient( #559cec 0%, #0077b5 100%);
border: #fff 2px solid;
}
.message .btn_more a:before {
content: "";
font-family: FontAwesome;
margin-right: 1.2em;
color: #fff;
font-size: 100%;
}

@media screen and (max-width:1024px) {
section.message h2 {font-size: 160%;line-height: 1.6;}
section.message .wrap_w {width: 590px;max-width: 90%;}
}
@media screen and (max-width:768px) {
.message .info_set_bg {background: unset;background-color: rgb(255 255 255 / 80%);}
.message .info_tel01 a {font-size: 44px;}
}
@media screen and (max-width:599px) {
section.message h2 {font-size: 125%;line-height: 1.6;}
section.message p {text-align: left;}
.message .info_tel01 a{font-size: 32px;}
.message .info_tel02 a{font-size: 28px;}
.message .btn_more a {margin: 0 auto;font-size: 90%;}
}

/*-------------------------------------------
【共通】3連バナー
-------------------------------------------*/
/*ファーストビューに固定の場合
.pick_up {
height: 30%;
max-height: 500px;
width: 100%;
position: absolute;
bottom: 0px;
background-color: rgba(0, 0, 0, 0.7);
}*/

.pickup-03 ul {
display: block;
margin-left: auto;
margin-right: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
width: 100%;
max-width: 1400px;
/*padding: 30px;*/
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-box-lines: multiple;
-moz-box-lines: multiple;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
}
.pickup-03 ul li {
width: 30%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
position: relative;
}
.pickup-03 ul li a {
display: block;
box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px 0px;
overflow: hidden;
}
.pickup-03 ul li a img {
width: 100%;
max-width: 100%;
-webkit-transition: 1.0s ease-out;
-moz-transition: 1.0s ease-out;
transition: 1.0s ease-out;
opacity: 0.75;
filter: alpha(opacity=75);
-ms-filter: "alpha( opacity=75 )";
}
.pickup-03 ul li a:hover img {
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-o-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
opacity: 1.0;
filter: alpha(opacity=100);
-ms-filter: "alpha( opacity=100 )";
}
.pickup-03 ul li a:hover {
box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 7px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 7px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 7px 0px;
}
.pickup-03 ul li a .name {
font-size: 140%;
background: transparent;
color: #FFF;
/* border: 1px solid #FFF; */
letter-spacing: 4px;
line-height: 40px;
text-decoration: none;
text-align: center;
display: block;
width: 80%;
margin-top: -35px;
margin-left: -30%;
position: absolute;
left: 40%;
top: 50%;
font-weight: bold;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
.pickup-03 ul li a .btn_check {
font-size: 90%;
background: transparent;
color: #FFF;
border: 1px solid #FFF;
border-radius: 50px;
letter-spacing: 3px;
line-height: 26px;
text-decoration: none;
text-align: center;
display: block;
width: 50%;
margin-top: 20px;
margin-left: -25%;
position: absolute;
left: 50%;
top: 50%;
font-weight: bold;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
.pickup-03 ul li a:hover .btn_check {
/*background: #000;
color: #fff;
border: none;
border-bottom: 1px solid #FFF;*/
}

a .btn_check i {
padding-right: 10px;
padding-left: 5px;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
a:hover .btn_check i {
padding-right: 5px;
padding-left: 10px;
}

@media screen and (max-width:768px) {
section.bnr-03{
padding: 1.5em 0px !important;
}
.pickup-03 ul li {
width: 100%;
height: 200px;
margin: 1.5em auto;
overflow: hidden;
}
}

@media screen and (max-width:599px) {
.pickup-03 ul li {
height: 180px;
}
.pickup-03 ul li a .name {
font-size: 18px;
}
}

/*-------------------------------------------
【下層】ABOUT
-------------------------------------------*/
.nayami_box_bg{
background: #fcfff7;
padding: 1em 2em;
border-radius: 20px;
border: #d8f1b0 10px solid;
}
.nayami_box{
}
.nayami_box ul{
}
.nayami_box ul li{
}
.kai_box_bg{
background: #fff;
padding: 1em 2em;
border-radius: 20px;
border: #d8f1b0 10px solid;
}
.kai_box{
}
.kai_box ul{
}
.kai_box ul li{
}
.media_box{
}
.media_info{
padding: 1.5em;
}
.media_box .title_b{
}
/*リスト*/
/*.list01 li {
background: #fff;
padding: 0.5em 1.5em;
margin: 30px auto;
font-size: 24px;
border: 1px solid #D9B073;
border-left: #d9b073 20px solid;
box-shadow: #dfcdb2 15px 15px 0px;
margin-bottom: 30px;
}*/
ul.check li {
font-size: 105%;
font-weight: bold;
line-height: 1.4;
padding: 14px;
margin: 0;
border-bottom: #93CF34 1px dashed;
text-decoration: none;
text-align: left;
}
ul.check li:before {
font-weight: 600;
color: #FF5722;
content: "\f265";
font-family: FontAwesome;
padding-right: 1em;
}

/*-----
【下層】選ばれる理由
----*/
.block03 ul {
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
align-content: flex-start;
align-items: stretch;
flex-direction: row;
justify-content: center;
}
.block03 ul li {
position: relative;
letter-spacing: 0;
width: 27%;
margin: 2%;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: #ffffff;
border-radius: 20px;
box-shadow: 10px 10px 0px #e1e1e1;
border: #93cf34 1px solid;
}
.block03 ul.tag {
justify-content: flex-start;
}
.block03 ul.tag li {
position: relative;
letter-spacing: 0;
width: 46%;
margin: 0% 2% 3%;
padding: 0 0 0.5em 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
box-shadow: none;
background: transparent;
border-radius: 0;
border-bottom: #a3a3a3 1px dashed;
}

/* LINK */
.block03 ul li a {
display: block;
overflow: hidden;
text-decoration: none;
}
.block03 ul li a img {
border-radius: 20px 20px 0 0;
width: 100%;
max-width: 100%;
-webkit-transition: 1.0s ease-out;
-moz-transition: 1.0s ease-out;
transition: 1.0s ease-out;
opacity: 1.00;
filter: alpha(opacity=100);
-ms-filter: "alpha( opacity=100 )";
}
.block03 ul li a:hover img {
-webkit-transform: scale(1.05);
-moz-transform: scale(1.05);
-o-transform: scale(1.05);
-ms-transform: scale(1.05);
transform: scale(1.05);
opacity: 0.75;
filter: alpha(opacity=75);
-ms-filter: "alpha( opacity=75 )";
}
.block03 ul li a:hover {
box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 7px 0px;
-webkit-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 7px 0px;
-moz-box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 7px 0px;
border-radius: 20px;
}

/* CONTENTS */
.plan_a_title_bg{background: #fcfaf1 url(../img/plan_a_obi.png) repeat-x top center scroll;}
.plan_b_title_bg{background: #fcfaf1 url(../img/plan_a_obi.png) repeat-x top center scroll;}

.block03 ul li a .photo {
/*height: 275px;*/
display: block;
overflow: hidden;
}
.block03 ul li a .name {
display: block;
font-size: 125%;
background: transparent;
color: #FFF;
line-height: 40px;
text-align: center;
width: 50%;
margin-top: -35px;
margin-left: -25%;
position: absolute;
left: 50%;
top: 50%;
font-weight: bold;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
.block03 ul li a .title {
color: #333;
font-size: 140%;
font-weight: bold;
text-align: center;
letter-spacing: 0.5px;
line-height: 1.4;
margin: 0.5em;
padding: 0.3em 0.5em 0.6em;
width: 94%;
border-bottom: #ceed9d 8px solid;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}

.block03 ul li a .txt {
display: block;
/* color: #564124; */
text-align: left;
padding: 0em 1.5em 1em 1.5em;
letter-spacing: 3px;
line-height: 1.6;
width: 100%;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
.block03 ul li a .txt-01 {
color: #666666;
padding: 0 1.5em 1em;
}
.block03 ul li a .btn_check {
display: none;
font-size: 90%;
background: transparent;
color: #78b2bd;
font-weight: bold;
border: 1px solid #78b2bd;
border-radius: 50px;
letter-spacing: 3px;
line-height: 26px;
text-align: center;
width: 50%;
margin: 0em auto 2em;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
.block03 ul li a:hover .btn_check {
background: #78b2bd;
color: #fff;
border: none;
border-bottom: 1px solid #FFF;
}
.block03 a .btn_check i {
padding-right: 10px;
padding-left: 5px;
-webkit-transition: 0.2s linear;
-moz-transition: 0.2s linear;
transition: 0.2s linear;
}
a:hover .btn_check i {
padding-right: 5px;
padding-left: 10px;
}
.block03 .balloon {
background-color: #93cf34;
font-size: 14px;
padding: 12px 0;
display: inline-block;
position: absolute;
top: -10px;
left: 27px;
margin-left: -39px;
width: 65px;
height: 67px;
line-height: 1.1;
vertical-align: middle;
text-align: center;
color: #fff;
/* border: #fff 5px solid; */
box-shadow: #ffffff 5px 5px 0px;
font-weight: bold;
border-radius: 6px;
box-sizing: border-box;
z-index: 100;
}
.block03 .balloon .num {font-size:28px; font-weight:bold;}

/*.block03 .balloon:before{
content: "";
position: absolute;
bottom: -12px;
left: 50%;
margin-left: -12px;
border-right: 12px solid transparent;
border-top: 20px solid #8cc222;
border-left: 12px solid transparent;
z-index: 0;
}*/

@media screen and (max-width:1200px) {
.block03 ul li {
width: 44%;
margin: 3%;
}
}
@media screen and (max-width:767px) {
.block03 ul li {
width: 480px;
max-width: 96%;
margin: 6% auto;
}
.block03 ul li a .photo {
height: 230px;
}
}
@media screen and (max-width:599px) {
.block03 ul li a .photo {
height: 200px;
}
}

/*------------------------------------------
【下層】流れ
-------------------------------------------*/
.flow section.step_zone,
.flow section.step_area{
background: #f7f7ef;
}
#subPage section.step_zone,
#subPage section.step_area{padding: 0em 0;}

/*リスト*/

#step .flexbox {    
/*border: #00a0e9 1px solid; */
padding: 0;
border-radius: 5px;
/* box-shadow: #d7d7d7 3px 3px 3px; */
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
align-content: flex-start;
flex-direction: row;
justify-content: space-between;
align-items: stretch;
}

#step .step_img{
width: 14%;
padding: 1%;
}
#step .step_img img{
width: 100%;
}


#step dl{
width: 86%;
padding-left: 2%;
line-height: 1.5;
}
#step dl dt{
font-size: 160%;
font-weight: bold;
line-height: 1.4;
/* border-bottom: #00a0e9 1px dotted; */
padding: 0;
margin: 10px auto;
color: #0077b5;
}
#step dl dd {
margin: 0 auto;
padding: 1.5em 2em 1.5em;
background: #fff;
border-radius: 10px;
}
#step dl dt span {
/*    background: #00a0e9;
color: #fff;
border-radius: 50px;
font-weight: normal;
display: inline-block;
width: 100px;
height: 100px;
font-size: 20px;
line-height: 100px;
text-align: center;
padding: 10px;
margin: 0;*/
display: none;
}
#step .arrow{
text-align: center;
margin: 10px auto 0;
}

/*step btn*/
#step ul.step_info_set{
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-content: flex-start;
justify-content: flex-start;
align-items: flex-start;
}
#step ul.step_info_set li{
width: 200px;
max-width: 80%;
text-align: center;
margin-right: 1em;
}

#step ul.step_info_set li a{
font-size: 15px;
font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", "Yu Gothic", YuGothic, sans-serif;
color: #515151;
margin: 0px 0 15px;
padding:14px 5px;
line-height: 1;
letter-spacing: 0.1em;
font-weight: normal;
text-align: center;
text-decoration: none;
clear: both;
display: block;
border-radius: 5px;
border: #b1b1b1 1px solid;
box-shadow: #818181 2px 2px 2px;
background: #e9e9e9;

background: #efefef;
background: -moz-linear-gradient( #fbfbfb 0%, #efefef 100%);
background: -webkit-gradient(linear, left top, left bottom, from(#fbfbfb), to(#efefef));
background: -webkit-linear-gradient( #fbfbfb 0%, #efefef 100%);
background: -o-linear-gradient( #fbfbfb 0%, #efefef 100%);
background: linear-gradient( #fbfbfb 0%, #efefef 100%);
}

#step ul.step_info_set li a:hover{
opacity: 0.85;
}

/**/
#step dl dd.step_area {
background: #fff url(../img/message_bg.jpg) no-repeat center -225px scroll;
/* background-size: cover; */
margin-top: 2em;
}
.flow section.step_area .wrap {
background: url(../img/message_bg.jpg) no-repeat center -317px scroll;
padding: 1em;
border-radius: 15px;
/*background-size: cover;*/
line-height: 1.8;
}
#step {
background: url(../img/step_line.png) repeat-y 83px 100px scroll;
}


@media screen and (max-width:1024px) {
#step {
background: none;
}
#step dl dt {
font-size: 130%;
padding: 5px 0 15px;
margin: 10px 0 5px;
/* border-bottom: none;*/
}
.step_area img {
width: 370px;
max-width: 100%;
margin: 15px auto 0;
display: block;
}
#step .flexbox {

padding: 0;
}
}
@media screen and (max-width:768px) {
#step ul.step_info_set li {
width: 230px;
max-width: 100%;
text-align: center;
margin-right: 1em;
margin-bottom: 1em;
padding: 0;
}
#step ul.step_info_set li.mail{
margin-bottom: 1em;
}
}

@media screen and (max-width:599px) {
#step dl {
width: 100%;
padding: 0;
}
#step ul.step_info_set li {
width: 100%;
max-width: 100%;
text-align: center;
margin-right: 0;
margin: 0 auto;
padding: 0;
}
#step ul.step_info_set li a {
font-size: 14px;
}
#step .step_img {
display: none;
}
#step dl dt span {
background: #0077b5;
border: #59b5e5 3px solid;
color: #fff;
border-radius: 60px;
font-weight: normal;
display: inline-block;
width: 50px;
height: 50px;
text-align: center;
padding: 12px;
margin: 0 0.5em 0 0;
line-height: 20px;
font-size: 20px;
}
}

/*--------------------
【下層】　FAQ　よくある質問
---------------------*/
.faq_nav{
position: relative;
z-index: 10;
}

.faq .toggle_wrap {
background: #ffffff;
border: #93cf34 2px solid;
width: 100%;
margin: 0 auto 2em;
border-radius: 10px;
padding: 0;
}

/* アコーディオン */
.faq .toggle_switch {
position: relative;
cursor: pointer;
padding:0;
}
.faq .toggle_switch::after {
content: "";
display: inline-block;
width: 18px;
height: 11px;
background: url(../img/arrow_down.png) no-repeat center center;
background-size: contain;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 20px;
transition: transform .2s;
}
.faq .toggle_switch.open::after {
transform: rotateZ(180deg);
top: 46%;
}
.faq .toggle_contents {
display: none;
/*display: block;*/
width: 100%;
padding: 0;
margin: 0;
background: #fff;
border-radius: 0 0 10px 10px;
}

/*装飾*/
.toggle_wrap .q,
.toggle_wrap .a{
text-align: left;
line-height: 1.8;
padding: 10px 10px;
margin: 10px 20px;
}
.toggle_wrap .q {
font-size: 110%;
font-weight: bold;
background: #e6f5e1;
border-radius: 5px;
}
.toggle_wrap .q:before,
.toggle_wrap .a:before{
content: "Q";
font-family: FontAwesome;
margin-right: 10px;
font-size: 18px;
font-weight: bold;
color: #ffffff;
background: #75ba08;
padding: 5px 8px;
border-radius: 5px;
}
.toggle_wrap .a:before {
content: "A";
background: #84ccc9;
}

/*追加*/
.faq .toggle_wrap .category {
font-size: 125%;
color: #fff;
background: #aad960;
padding: 0.5em 1.5em;
margin-bottom: 0;
line-height: 1.4;
font-weight: normal;
letter-spacing: 2px;
text-align: left;
border-radius: 5px 5px 0 0 ;
}
.faq .toggle_wrap dl {
margin: 20px auto 0;
}

/*HOMEのみ*/
.home_faq .toggle_wrap {
width: 100%;
margin: 0 auto;
padding: 0;
background: unset;
border: none;
}
.home_faq .toggle_wrap .q {
font-size: 125%;
}
.toggle_wrap .q, .toggle_wrap .a {
padding: 15px;
}
@media screen and (max-width: 768px) {
.home_faq .toggle_wrap .q {font-size: 100%;}
}
@media screen and (max-width: 590px) {
.toggle_wrap .q,
.toggle_wrap .a {
font-size: 100%;
margin: 0px 10px;
}
.toggle_switch::after {right: 5px;}
.toggle_wrap .category {font-size: 120%;}
.toggle_wrap dl {margin: 10px auto;}
}

/*------------------------------------------
【共通】キャンペーン
-------------------------------------------*/
.campaign_wrap{
width: 1200px;
max-width: 100%;
background: url(../img/campaign_box_bg.png) repeat top center scroll;
position: relative;
padding: 3em;
border-radius: 10px;
margin: 0 auto;
}

.campaign_box{
background: #fff url(../img/bg-k.png) repeat top center scroll;
padding: 3em 3em 2.5em;
margin: 0;
border-radius: 10px;
box-shadow: #5a3620 2px 2px 2px;
}

.campaign_box_title{
margin:-25px auto -35px;
display: block;
}

.campaign_box_leaf{
position: absolute;
top: 0;
right: 0;
}

.campaign_box_txt{
font-size: 120%;
}

.campaign_box_txt h3{
font-size: 130%;
font-weight: bold;
padding: 0px 0 10px;
margin: 10px 0;
border-bottom: #dcebc4 10px solid;
}
@media screen and (max-width:1024px) {
.campaign_box_txt {font-size: 100%;}
.campaign_box_leaf{display:none;}
.campaign_wrap {
width: 100%;
max-width: 100%;
background: #fff url(../img/bg-k.png) repeat top center scroll;
border: #dcebc4 3px solid;
box-shadow: #5a3620 2px 2px 2px;
padding: 15px;
margin: 0 auto;
border-radius: 10px;
position: relative;
}
.campaign_box {
padding: 5px 10px;
box-shadow: none;
}
.campaign_box_title {
margin: 0px auto;
width: 350px;
max-width: 75vw;
}
.campaign_box_txt h3 {
font-size: 120%;
}
}

@media screen and (max-width:599px) {
.campaign_box_txt h3 {
font-size: 110%;
}
.campaign_wrap {
box-shadow: #5a3620 2px 2px 2px;
}
}

/*-------------------------------------------
【下層】料金表
-------------------------------------------*/
.faq_nav{
position: relative;
z-index: 10;
}
.price_jenre {
background-image: url(../img/price_bg_jenreZ.jpg) !important;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
margin: 5em auto;
}
.price_jenre .lay {
font-size: 160%;
line-height: 1;
text-align: center;
color: #ffffff;
background: rgb(127 203 60 / 78%);
padding: 2em 1em;
margin-bottom: 1em;
letter-spacing: 5px;
font-weight: bold;
}

.faq_nav ul.flexbox {
-webkit-justify-content: space-between;
align-content: space-around;
align-items: stretch;
flex-direction: row;
justify-content: center;
}

.faq_nav ul li{
/*width: 18%;*/
margin: 1%;
}
.faq_nav ul li a {
display: block;
border: #209bcc 1px solid;
width: 100%;
padding: 0.5em 1em;
margin: 0;
}
.faq_nav ul li a:hover {
color: #fff;
background: #209bcc;
border: #209bcc 1px solid;
}

/*-------
リスト
---------*/
ul.price_list{
/*width: 100%;*/
}
ul.price_list .price_box{
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: nowrap;
-webkit-justify-content: space-between;
align-content: flex-start;
align-items: stretch;
flex-direction: row;
justify-content: space-between;
}
ul.price_list li.price_box{
/* background: #fff; */
/* border: #aad960 5px solid; */
padding: 1em;
margin: 0 auto;
box-sizing: border-box;
}
ul.price_list .price_img{
width: 40%;
max-width: 100%;
height: 240px;
margin: 0px auto;
padding: 0;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
ul.price_list .price_info{
width: 60%;
max-width: 100%;
padding: 0.5em 0 0 2em;
margin: 0 auto;
}
ul.price_list .price_title{
font-size: 150%;
font-weight: bold;
margin-bottom: 18px;
padding-bottom: 10px;
border-bottom: #e7f9ff 10px solid;
}
ul.price_list .price_set{
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: nowrap;
-webkit-justify-content: space-between;
align-content: flex-start;
align-items: stretch;
flex-direction: row;
justify-content: space-between;
}
ul.price_list p{
padding:0;
}
ul.price_list .kingaku{
/*font-family: impact;*/
font-size: 160%;
font-weight: normal;
line-height: 1.6;
}
ul.price_list .kingaku_set .kingaku{
font-size: 140%;
}

ul.price_list .btn a{
font-weight: normal;
color: #ffffff;
background-color: #F44336;
border: #f44336 2px solid;
margin: 0 auto;
padding: 1em 1em;
line-height: 1;
letter-spacing: 0.1em;
width: 300px;
text-align: center;
text-decoration: none;
clear: both;
display: block;
border-radius: 5px;
box-shadow: #ebebeb 5px 5px 0px;
}

ul.price_list .btn a:hover{
color: #F44336;
background-color: transparent;
border: #F44336 2px solid;
}

ul.price_list .btn2 a{
    font-weight: normal;
    color: #ffffff;
    background-color: #02a20a;
    border: #05a20d 2px solid;
    margin: 0 auto;
    padding: 1em 1em;
    line-height: 1;
    letter-spacing: 0.1em;
    width: 300px;
    max-width: 100%;
    text-align: center;
    text-decoration: none;
    clear: both;
    display: block;
    border-radius: 5px;
    box-shadow: #ebebeb 5px 5px 0px;
}

ul.price_list .btn2 a:hover{
    color: #05a20d;
    background-color: transparent;
    border: #05a20d 2px solid;
}

ul.price_list select{
    width: 100%;
    text-align: center;
    font-size:140%;
    line-height: 180%;
    margin: 5px auto;
}

ul.price_list input[type="button"]{
    font-weight: normal;
    color: #ffffff;
    background-color: #F44336;
    border: #f44336 2px solid;
    margin: 5px auto;
    padding: 1em 1em;
    line-height: 1;
    letter-spacing: 0.1em;
    width: 300px;
    max-width: 100%;
    text-align: center;
    text-decoration: none;
    clear: both;
    display: block;
    border-radius: 5px;
    box-shadow: #ebebeb 5px 5px 0px;
}
ul.price_list input[type="button"]:hover{
    color: #F44336;
    background-color: transparent;
    border: #F44336 2px solid;
}

/*オプション*/
ul.price_list .option_box{
}
ul.price_list .option_title{
font-size: 105%;
color: #fff;
background: #61d3f9;
padding: 10px 20px;
margin-bottom: 0;
line-height: 1;
font-weight: normal;
letter-spacing: 2px;
border-radius: 0;
}
ul.price_list ul.option_list{
}
ul.price_list ul.option_list li{
background:#e7f9ff;
margin: 15px auto;
padding: 10px;
line-height: 1.6;
}

.price_list .toggle_wrap {
background: #ffffff;
/*border: #aad960 2px solid;*/
width: 100%;
margin: 15px auto 0px;
border-radius: 0;
padding: 0;
}

/* アコーディオン */
.price_list .toggle_switch {
position: relative;
cursor: pointer;
padding:0;
}
.price_list .toggle_switch::after {
content: "";
display: inline-block;
width: 18px;
height: 11px;
background: url(../img/arrow_down.png) no-repeat center center;
background-size: contain;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 20px;
transition: transform .2s;
}
.price_list .toggle_switch.open::after {
transform: rotateZ(180deg);
top: 46%;
}
.price_list .toggle_contents {
display: none;
/*display: block;*/
width: 100%;
padding: 0;
margin: 0;
background: #fff;
border-radius: 0 0 10px 10px;
}

@media screen and (max-width:1024px) {
.price_jenre .lay {font-size: 140%;}
ul.price_list .price_set {
width: 100%;
margin: auto;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: nowrap;
-webkit-justify-content: space-between;
align-content: center;
align-items: stretch;
flex-direction: column;
justify-content: flex-start;
}
ul.price_list .btn a {
width: 300px;
max-width: 100%;
font-size: 110%;
margin: 10px auto;
padding: 18px;
}
    ul.price_list .btn2 a {
        width: 300px;
        max-width: 100%;
        font-size: 110%;
        margin: 10px auto;
        padding: 18px;
    }
ul.price_list .price_title{
font-size: 135%;
font-weight: bold;
margin-bottom: 8px;
padding-bottom: 5px;
border-bottom: #e7f9ff 5px solid;
}
}

@media screen and (max-width:599px) {
.price_jenre {margin: 3em auto;}
.price_jenre .lay {font-size: 130%;}

ul.price_list li.price_box {
display: block;
padding: 0;
}
ul.price_list .price_img {
width: 100%;
height: 150px;
}
ul.price_list .price_info {
width: 100%;
max-width: 100%;
padding: 1.5em 0 0;
margin: 0 auto;
}
ul.price_list .kingaku {
font-size: 130%;
}
ul.price_list .kingaku_set .kingaku {
font-size: 120%;
}
}


/*-------
切替タブ
---------*/
.tab-wrap {
display: flex;
flex-wrap: wrap;
margin: 0px 0 2em;
}
/*.tab-wrap:after {
content: '';
width: 100%;
height: 3px;
background:#00bfff;
display: block;
order: -1;
}*/
.tab-wrap:after {
content: '';
width: 40%;
display: block;
order: -1;
}
.tabA3:after,.tabE1:after {width: 80%;/*タブ1つ*/}

.tab-label {
font-size: 105%;
color: #fff;
background: #c1c1c1;
font-weight: normal;
text-shadow: 0 -1px 0 rgba(0,0,0,.2);
white-space: nowrap;
text-align: center;
padding: 7px 0.8em 5px;
order: -1;
position: relative;
z-index: 1;
cursor: pointer;
border-radius: 10px 10px 0 0;
flex: 1;
}
.tab-label:not(:last-of-type) {
margin-right: 5px;
}
.tab-content {
width: 100%;
height: 0;
overflow: hidden;
opacity: 0;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label {
background:#00bfff;
}
.tab-switch:checked+.tab-label+.tab-content {
height: auto;
overflow: auto;
padding: 15px;
opacity: 1;
transition: .5s opacity;
/* box-shadow: 0 0 3px rgba(0,0,0,0.5); */
border: #00bfff 2px solid;
background: #fff;
}
/* ラジオボタン非表示 */
.tab-switch {
display: none;
}

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

.tab-label {
color: #fff;
background: #c1c1c1;
font-weight: bold;
text-shadow: 0 -1px 0 rgba(0,0,0,.2);
margin-bottom: -1px;
padding: 10px .5em;
border: 1px solid rgba(0,0,0,.2);
border-bottom: none;
cursor: pointer;
display: block;
}
.tab-label:before {
content: '▼';
margin-right: .2em;
display:inline-block;
transform:rotate(-90deg);
}
.tab-switch:checked+.tab-label:before {
transform:rotate(0);
}
.tab-content {
height: 0;
padding: 0 15px;
overflow: hidden;
opacity: 0;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label {
background: #00bfff;
}
.tab-switch:checked+.tab-label+.tab-content {
height: auto;
overflow: auto;
margin-bottom: -1px;
padding: 15px;
opacity: 1;
transition: .5s;
border: #00bfff 1px solid;
}
/* ラジオボタン非表示 */
.tab-switch {
display: none;
}
/*追加*/
.tab-wrap {
display: flex;
flex-wrap: wrap;
margin: 0px 0 2em;
flex-direction: column;
}
.tab-wrap:after {
content: '';
width: 100%;
display: block;
order: -1;
}
.tab-label {
color: #fff;
background: #c1c1c1;
font-weight: bold;
text-shadow: 0 -1px 0 rgba(0,0,0,.2);
margin-bottom: -1px;
padding: 10px 1em;
border: 1px solid rgba(0,0,0,.2);
border-bottom: none;
cursor: pointer;
display: block;
border-radius: 0;
text-align: left;
}
.tabA3:after,.tabE1:after {width: 100%;/*タブ1つ*/}
.tab-label:not(:last-of-type) {margin-right: 0;}

}