@charset "UTF-8";

/*----------------------------------------------------------------------------------------------------------------------------------
　 　共通
----------------------------------------------------------------------------------------------------------------------------------*/

.page_header {
    background: #ffc82e url("../img/page_header.png") repeat-x center;
    height: 180px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 80px;
    overflow: hidden;
    position: relative;
}

.h1_page {
    color: #AA1A1A;
    font-size: 3vw;
    line-height: 190%;
}
.h2_page {
    font-size: 180%;
    margin-top: 50px;
    margin-bottom: 30px;
    color: #AA1A1A;
    border-left: #AA1A1A 5px solid;
    border-bottom: #AA1A1A 2px solid;
    padding: 0 10px 10px;
}
.h2_page:first-child {
    margin-top: 0;
}
.h2_border {
    align-items: center;
    justify-content: center;
    font-size: 180%;
    color: #AA1A1A;
    margin: 30px 0 30px;
}
.h2_border:before,
.h2_border:after {
    content: "";
    height: 3px;
    flex-grow: 1;
    background-color: #AA1A1A;
    border-radius: 10px;
}
.h2_border:before {
    margin-right: 2.5em;
}
.h2_border:after {
    margin-left: 2.5em;
}
.half_box {
    justify-content: center;
}
.half_inner {
    width: 47%;
}

.square_list li {
    padding-left: 1.4em;
    text-indent: -1.4em;
    margin-bottom: 10px;
}

.square_list li::before {
    content: "■";
    padding-right: 7px;
    color: #AA1A1A;
}

span.br {
    display: inline-block;
}

@media print, screen and (max-width: 1280px) {
    
    .h2_page {
        font-size: 150%;
        margin-top: 40px;
        margin-bottom: 20px;
        padding: 0 10px 5px;
    }

    .big_btn {
        margin-top: 2.344vw;
    }

}

@media print, screen and (max-width: 999px) {

    .page_header {
        height: 120px;
    }

}

@media print, screen and (max-width: 750px) {
    .h1_page {
        font-size: 5vw;
    }
    .h2_page {
        font-size: 3vw;
        margin-top: 30px;
        margin-bottom: 15px;
    }
    .h2_border {
        font-size: 150%;
        margin: 30px 0 30px;
    }
    .h2_border:before {
        margin-right: 1em;
    }
    .h2_border:after {
        margin-left: 1em;
    }
    .big_btn {
        font-size: 3.5vw!important;
    }
}
@media print, screen and (max-width: 550px) {
    .page_header {
        margin-top: 65px;
    }
    .h2_page {
        font-size: 113%;
        padding: 0 10px 0;
    }
    .under_box {
        padding: 40px 15px 30px!important;
    }
    .big_btn {
        padding: 20px 15px!important;
        font-size: 5vw!important;
    }

}

/*----------------------------------------------------------------------------------------------------------------------------------
　 　about
----------------------------------------------------------------------------------------------------------------------------------*/

.bg_yellow { background-color: #ffdb4b!important;}
.inner { width: 95%; max-width: 1440px; margin: auto;}

.about_contents {
    min-height: 100vh;
}

.page_section {
    padding: 120px 0;
}

.page_section + .page_section {
    padding: 0 0 120px;
}

.big_btn {
    font-size: 2.5vw;
    padding: 30px 15px;
}

.input_mail {
    width: 100%;
    border: #000 3px solid;
    border-radius: 50px!important;
    font-size: 150%!important;
    /* margin-top: 30px; */
    padding: 20px!important;
}

.ab_textarea {
    height: 90px;
}

.icon_pdf {
    background-image: url("../img/icon_pdf.svg");
    background-repeat: no-repeat;
    background-position: left 7% center;
    background-size: 30px;
}

.about_box_l {
    width: 28%;
}
.about_box_c {
    flex: 1;
    padding: 0 1%;
}
.about_box_r {
    width: 28%;
}

.catch_txt {
    display: inline-block;
    font-size: 4vw;
    line-height: 160%;
    white-space: nowrap;
}

.catch_txt.under {
    border-bottom: #AA1A1A 4px solid;
}

.second_txt {
    font-size: 2vw;
    margin-top: 20px;
    margin-bottom: 80px;
}
.second_txt.mb0 {
    margin-bottom: 0;
}

.circle_list {
    justify-content: space-between;
}
.circle_list li {
    width: 11.8vw;
    height: 11.8vw;
    border-radius: 50%;
    background-color: #fff;
    padding: 20px;
    margin-bottom: 10%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.circle_list::after {
    content: "";
    width: 150px;
    display: block;
}
.circle_list_icon {
    width: 6vw;
    height: 6vw;
    display: block;
    margin: auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.cl_icon_taberu {background-image: url("../img/taberu_on.svg")!important;}
.cl_icon_nomu {background-image: url("../img/nomu_on.svg")!important;}
.cl_icon_manabu {background-image: url("../img/manabu_on.svg")!important;}
.cl_icon_tsukuru {background-image: url("../img/tsukuru_on.svg")!important;}
.cl_icon_kau {background-image: url("../img/kau_on.svg")!important;}
.cl_icon_kenkou {background-image: url("../img/kenkou_on.svg")!important;}
.cl_icon_soudan {background-image: url("../img/soudan_on.svg")!important;}
.cl_icon_tsuushin {background-image: url("../img/tsuushin_on.svg")!important;}

.circle_list_txt {
    color: #AA1A1A;
    font-size: 88%;
    font-weight: bold;
}

.color_reverse { background-color: #AA1A1A!important;}
.color_reverse .circle_list_txt { color: #fff;}

.rad_box {
    width: 90%;
    max-width: 1280px;
    background-color: #fff9e1;
    border-radius: 40px;
    margin: auto;
    padding: 60px 40px 40px;
}

.under_box {
    border: #AA1A1A 5px solid;
    background-color: #ffdb4b;
    padding: 60px 40px 40px;
}

.about_rad_title {
    background-color: #AA1A1A;
    border-radius: 40px;
    color: #fff;
    font-size: 2vw;
    display: inline-block;
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
    margin: auto;
    width: 300px;
    padding: 20px 20px;
}

.about_rad_txt {
    color: #AA1A1A;
    font-size: 1.5vw;
    font-weight: bold;
    display: flex;
    align-items: center;
}
.about_rad_txt strong {
    font-size: 4vw;
}

.about_rad_txt span {
    background-color: #fff;
    border-radius: 10px;
    color: #AA1A1A;
    font-size: 88%;
    font-weight: bold;
    padding: 5px 20px;
    margin-right: 10px;
}

.about_price_txt strong {
    margin: 0 10px 0 0;
}

.about_price_txt {
    margin-bottom: 30px;
    font-feature-settings: "palt";
    display: block;
}
.about_rad_txt strong.big {
    font-size: 10vw;
    margin: 0 10px 0 0;
}

.about_price_two {
    margin-top: 60px;
}

.about_step_list {
    display: inline-block;
    margin: 0 auto 60px;
}

.about_step_list li {
    /* margin-bottom: 0px; */
    padding: 30px 0;
    border-bottom: #ffc82e 5px solid;
}

.about_agency {
    margin-top: 50px;
    margin-bottom: 30px;
}
.about_agency .half_inner {
    text-align: center;
    padding: 25px 25px 115px;
}
.about_agency .half_inner:first-child {
    border-right: #AA1A1A 3px dashed;
}

.about_agency .half_inner .big_btn {
    width: 90%;
    margin: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

.fax_box {
    align-items: center;
    justify-content: center;
    margin-top: 30px;
}

.big_num_txt {
    min-height: 40px;
    font-size: 3.3vw;
    font-weight: bold;
}

.icon_title {
    width: 90%;
    font-size: 2.5vw;
    font-weight: bold;
    display: inline-block;
    color: #AA1A1A;
    background-color: #ffdb4b;
    padding: 20px 20px 20px 50px;
    position: relative;
    margin-bottom: 30px;
}

.icon_title::before {
    content: "";
    width: 60px;
    height: 60px;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 10px;
    border-radius: 50%;
}

.icon_mail::before {
    background: #AA1A1A url("../img/icon_mail.svg") no-repeat center;
    background-size: 60%;
}

.icon_fax::before {
    background: #AA1A1A url("../img/icon_fax.svg") no-repeat center;
    background-size: 60%;
}

/* qa */
.qa_box {
    width: 90%;
    max-width: 1280px;
    margin: auto;
}
.qa_list{
	width: 100%;
    margin: 0 auto 70px;
}
.qa_list:last-child{
    margin: 0 auto 0;
}
.qa_list > li{margin: 20px 0;}
/* .hidden_box {font-size: 150%;} */
.hidden_box label {
	padding: 25px 85px 25px 60px;
    transition: .3s;
	width: 100%;
    font-size: 150%;
    font-weight: bold;
	background: #fff9e1;
	border-radius: 20px;
	display: inline-block;
    cursor:pointer;
}
.hidden_box input[type="checkbox"] { display: none;}

.hidden_box input[type='checkbox']:checked + label {background: #fff9e1;}

.hidden_box .hidden_show{
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}
.hidden_box input:checked ~ .hidden_show{
    height: auto;
    opacity: 1;
}
.showin{
    font-size: 113%;
    font-weight: bold;
    padding: 30px 30px;
    line-height: 160%;
    margin: 20px auto 30px;
	background: #fff9e1;
    border-radius: 20px;
}
.showin p{font-size: 83%;}


/*アイコンを表示*/

.faq_icon{
	position: absolute;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
    left: 20px;
    font-size: 150%;
    color: #AA1A1A;
}
label .faq_icon{
    top: 50%;
    transform: translatey(-50%);
}

.mark_wrap {
    width: 30px;
    height: 30px;
    position: absolute;
	right: 20px;
    top: 50%;
    transform: translatey(-50%);
}
.mark {
    position: absolute;
    display: inline-block;
    width: 100%;
    height: 100%;
	top: 0;
	right: 0;
  }
 .mark:before,
 .mark:after {
    position: absolute;
    content: "";
    display: block;
    transition: all 0.3s;
    background:#AA1A1A;
    left: 50%;
    top: 50%;
    width: 100%;
    height: 5px;
    border-radius: 0px;
    transform: translate(-50%, -50%);
  }
.mark:before {transform: translate(-50%, -50%) rotate(90deg);}

.hidden_box input:checked ~ label .mark::before{transform: translate(-50%, -50%) rotate(0deg);}

.num_list {
	counter-reset: listnum; /* カウンターをリセット */
	list-style: none; /* 標準のスタイルは消す */
}
.num_list li {
    padding-left: 2em;
    text-indent: -2em;
    margin-top: 20px;
}
.num_list li:first-child {
    margin-top: 0;
}
.num_list li::before{
	counter-increment: listnum;
	content: counter(listnum) "."; /* 半角スペースを入れて""の中にピリオドを追加 */
	padding-right: 15px;
	color: #AA1A1A;
	vertical-align: middle;
	font-size: 133%;
	font-family: roboto;
	font-weight: bold;
}

.rad_box.bg_yellow {
    padding-bottom: 0;
}


@media print, screen and (min-width: 1441px){
    .circle_list li {
        width: 180px;
        height: 180px;
        padding: 1vw;
        margin-bottom: 10%;
    }
    .circle_list_icon {
        width: 80px;
        height: 80px;
    }
    .circle_list_txt {
        font-size: 125%;
    }
    .catch_txt {
        font-size: 68px;
    }

}

@media print, screen and (max-width: 999px){

    .about_box {
        align-items: center;
    }
    .about_box_l,
    .about_box_r {
        width: 32%;
    }
    .circle_list li {
        width: 14vw;
        height: 14vw;
    }
    .circle_list_icon {
        width: 7vw;
        height: 7vw;
    }

    .catch_txt {
        font-size: 3.5vw;
    }
    .rad_box {
        padding: 60px 20px 50px;
    }
    .under_box {
        padding: 60px 20px 30px;
    }
    .about_rad_title {
        border-radius: 40px;
        font-size: 3vw;
        top: -1em;
        left: 0;
        right: 0;
        margin: auto;
        width: 200px;
        padding: 1.502vw 2.002vw;
    }
    .about_agency .half_inner {
        width: 100%;
        padding: 25px;
    }
    .about_agency .half_inner:first-child {
        border-right: none;
    }
    .about_agency .half_inner .big_btn {
        width: 100%;
        position: static;
        margin-top: 20px;
    }
    .ab_textarea {
        height: auto;
        margin-bottom: 20px;
    }
    .hidden_box label {
        font-size: 133%;
    }
}

@media print, screen and (max-width: 750px){
    
    .page_section {
        padding: 100px 0;
    }
    .page_section:first-child {
        padding: 50px 0 100px;
    }
    .page_section + .page_section {
        padding: 0 0 100px;
    }
    .about_box_l,
    .about_box_r {
        width: 100%;
    }
    .circle_list li {
        width: 20vw;
        height: 20vw;
        margin-top: 3%;
        margin-bottom: 3%;
    }
    .circle_list_icon {
        width: 10vw;
        height: 10vw;
    }
    .catch_txt {
        font-size: 7vw;
    }
    
    .about_price_two .half_inner {
        width: 100%;
        text-align: center;
    }
    .about_rad_txt span {
        font-size: 125%;
    }
    
    .about_rad_txt strong {
        font-size: 6vw;
        margin: 0 0 10px;
    }
    
    .about_rad_txt {
        font-size: 2vw;
    }
    
    .about_rad_txt strong.big {
        font-size: 14vw;
    }
    .second_txt {
        font-size: 3vw;
        margin-bottom: 60px;
    }
    .big_num_txt {
        font-size: 6vw;
    }
    .icon_title {
        font-size: 3.8vw;
        padding: 15px 15px 15px 50px;
    }
    .qa_box {
        width: 100%;
    }
    .num_list li::before{
        padding-right: 0.5em;
    }
    .hidden_box label {
        font-size: 113%;
        padding: 15px 50px 15px 45px;
    }
	.faq_icon {
        width: 25px;
        height: 33px;
        left: 15px;
    }
    .showin{
        font-size: 100%;
        padding: 15px 15px 15px;
        margin: 10px auto 15px;
    }
    .showin p{font-size: 88%;}
    .mark_wrap{
        width:25px;
        height: 25px;
		right: 15px;
	}

}

@media print, screen and (max-width: 550px){
    .circle_list li {
        padding: 0;
    }
    .circle_list_txt {
        font-size: 77%;
    }
    .catch_txt {
        font-size: 5.8vw;
    }
    .about_rad_txt span {
        font-size: 150%;
        line-height: 1em;
    }
    .about_rad_title {
        font-size: 20px;
        width: 200px;
        padding: 10px 20px;
    }
    .about_price_two {
        margin-top: 30px;
    }
    .about_step_list {
        margin: 0 auto 30px;
    }
    .about_step_list li {
        padding: 20px 0;
    }
    .second_txt {
        font-size: 5vw;
        line-height: 1.4em;
        margin-bottom: 30px;
    }
    .big_num_txt {
        font-size: 28px;
    }
    .about_agency .half_inner {
        padding: 0;
    }
    .about_agency .half_inner + .half_inner {
        margin-top: 30px;
    }
    .icon_title {
        font-size: 5vw;
    }
    .icon_title::before {
        width: 50px;
        height: 50px;
    }
    .input_mail {
        font-size: 133%!important;
        padding: 20px!important;
    }
    .hidden_box label {
        font-size: 100%;
        padding: 15px 40px 15px 35px;
    }
	.faq_icon {
    width: 20px;
    height: 25px;
    left: 10px;
}
	.mark_wrap {
    width: 25px;
    height: 25px;
    right: 10px;
}
	.mark:before, .mark:after {height: 4px;}
	.showin{padding: 20px 15px;}
}

/*----------------------------------------------------------------------------------------------------------------------------------
　 　committee
----------------------------------------------------------------------------------------------------------------------------------*/

.inner_l {
    width: 90%;
    margin-left: auto;
    margin-right: 0;
}
.inner_r {
    width: 90%;
    margin-left: 0;
    margin-right: auto;
}

.committee_box {
    width: 100%;
    background-color: #fff9e1;
    max-width: inherit;
    border-right: none;
    border-radius: 40px 0 0 40px;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
}

.committee_rad_title {
    background-color: #AA1A1A;
    border-radius: 0;
    color: #fff;
    font-size: 3vw;
    display: inline-block;
    position: absolute;
    top: -1em;
    left: 6%;
    margin: auto;
    padding: 30px 20px;
}

.bg_p { background-color: #dc0302!important;}
.bg_f { background-color: #00A0CA!important;}
.bg_h { background-color: #073887!important;}

.inner_r .committee_box {
    border-radius: 0 40px 40px 0;
    border-right: #AA1A1A 5px solid;
    border-left: none;
}

.committee_img {
    width: 300px;
    margin-right: 3%;
    padding-top: 20px;
}

.committee_img_box {
    width: 100%;
    padding-top: 70%;
    background-color: #fff;
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}
.committee_img_box img {
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
    font-family: 'object-fit:cover;';
}
.committee_img_box + .btn {
    margin-top: 30px;
}

.committee_info {
    flex: 1;
}

.committee_tbl {
    width: 100%;
    font-size: 125%;
    font-weight: bold;
    line-height: 1.6em;
}

.committee_tbl th,
.committee_tbl td {
    padding: 15px;
    text-align: left;
    border-bottom: #ffc82e 2px solid;
}

.committee_tbl th {
    width: 130px;
    color: #AA1A1A;
}

@media print, screen and (max-width: 999px){
.inner_l {
    width: 96%;
}
.inner_r {
    width: 96%;
}
.committee_img {
    width: 30.03vw;
    margin-right: 3%;
}
.committee_tbl th {
    width: 120px;
}

}

@media print, screen and (max-width: 750px){
.committee_img {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
}   
.committee_info {
    flex: none;
    width: 100%;
}
.committee_img_box + .btn {
    margin-top: 20px;
    margin-bottom: 10px;
}
.committee_rad_title {
    width: 60vw;
    font-size: 5vw;
    top: -1em;
    left: 0;
    right: 0;
    padding: 20px 20px;
}
.committee_tbl {
    font-size: 100%;
}
.committee_tbl th {
    width: 90px;
    padding: 15px 0;
}
.committee_tbl td {
    padding: 15px 0;
}

}
@media print, screen and (max-width: 550px){
.committee_img {
    width: 80%;
} 

}

/*----------------------------------------------------------------------------------------------------------------------------------
　 　policy
----------------------------------------------------------------------------------------------------------------------------------*/
	