@charset "UTF-8";

* {
    margin:0;
    padding:0;
    box-sizing: border-box;
}


body {
    font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    font-size:62.5%;
}


p {
    font-size:1.6em;
}



/* 下層ページH2タイトル */
.sec_pageTitle {
    width:96%;
    max-width:1080px;
    margin:0 auto;
}


.ttl_h2 {
    width:100%;
    height:150px;
    position:relative;
    margin:0 0 40px;
    overflow:hidden;
}


.ttl_h2 h2 {
    display:block;
    width:100%;
    position:absolute;
    bottom:0;
    left:0;
    font-weight:600;
    font-size:45px;
    z-index:3;
    line-height:1em;
}


.ttl_h2::before {
    content:attr(meta-ename);
    display:block;
    height:120px;
    font-size:120px;
    font-weight:600;
    line-height:1em;
    color:#eeeeee;
    position:absolute;
    bottom:0;
    left:0;
    z-index:1;
}


.ttl_h2::after {
    content:"";
    display:block;
    width:100%;
    height:30px;
    position:absolute;
    bottom:0;
    left:0;
    background:#FFF;
    z-index:2
}


@media all and (max-width:768px) {
.ttl_h2 {
    width:100%;
    height:100px;
    position:relative;
    margin:0 0 20px;
    overflow:hidden;
}


.ttl_h2 h2 {
    display:block;
    width:100%;
    position:absolute;
    bottom:0;
    left:0;
    font-weight:600;
    font-size:40px;
    z-index:3;
    line-height:1em;
}


.ttl_h2::before {
    content:attr(meta-ename);
    display:block;
    height:70px;
    font-size:70px;
    font-weight:600;
    line-height:1em;
    color:#eeeeee;
    position:absolute;
    bottom:0;
    left:0;
    z-index:1;
}


.ttl_h2::after {
    content:"";
    display:block;
    width:100%;
    height:24px;
    position:absolute;
    bottom:0;
    left:0;
    background:#FFF;
    z-index:2
}   
}


@media all and (max-width:560px) {
.ttl_h2 {
    width:100%;
    height:80px;
    position:relative;
    margin:0 0 20px;
    overflow:hidden;
}


.ttl_h2 h2 {
    display:block;
    width:100%;
    position:absolute;
    bottom:0;
    left:0;
    font-weight:600;
    font-size:30px;
    z-index:3;
    line-height:1em;
}


.ttl_h2::before {
    content:attr(meta-ename);
    display:block;
    height:60px;
    font-size:60px;
    font-weight:600;
    line-height:1em;
    color:#eeeeee;
    position:absolute;
    bottom:0;
    left:0;
    z-index:1;
}


.ttl_h2::after {
    content:"";
    display:block;
    width:100%;
    height:15px;
    position:absolute;
    bottom:0;
    left:0;
    background:#FFF;
    z-index:2
}   
}


/* パンくず */
ul.breadcrumb {
    margin:0 0 90px;
    font-size:14px;
    color:#626262;
}


ul.breadcrumb li {
    display:inline;
    padding:0 30px 0 0;
    position:relative;
}


ul.breadcrumb li a {
    color:#626262;
}


ul.breadcrumb li::after {
    content:"";
    display:block;
    width:2px;
    height:7px;
    border-top:1px solid #626262;
    border-right:1px solid #626262;
    position:absolute;
    top:45%;
    right:10px;
    transform:rotate(45deg) translateY(-50%);
}


ul.breadcrumb li:last-child::after {
    display:none;
}


@media all and (max-width:768px) {
ul.breadcrumb {
    margin:0 0 60px;
    font-size:14px;
    color:#626262;
}
}


@media all and (max-width:560px) {
ul.breadcrumb {
    margin:0 0 50px;
    font-size:14px;
    color:#626262;
}
}



.sec_contact {
    width:96%;
    max-width:1080px;
    margin:0 auto;
}



h3.ttl_h3 {
    font-size:30px;
    font-weight:normal;
    color:#267946;
    margin:0 0 20px;
}


@media all and (max-width:560px) {
h3.ttl_h3 {
    font-size:24px;
    font-weight:normal;
    color:#267946;
    margin:0 0 20px;
}    
}


.block_phone {
    width:100%;
    margin:0 auto 100px;
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
    position:relative;
}


.block_phone::before {
    content:"";
    display:block;
    width:1px;
    background:#000;
    position:absolute;
    top:0;
    bottom:0;
    left:50%;
}


.block_phone > div {
    width:48.5%;
}


@media all and (max-width:768px) {
.block_phone::before {
    display:none;
}
    
    
.block_phone > div {
    width:100%;
}   
}


.block_phone > div h4 {
    background:#FFF;
    color:#267946;
    padding:.4em;
    width:100%;
    text-align:center;
    font-size:21px;
    font-weight:500;
    border:1px solid #267946;
    border-radius: 50px;
}


@media all and (max-width:560px) {
.block_phone > div h4 {
    background:#FFF;
    color:#267946;
    padding:.4em;
    width:100%;
    text-align:center;
    font-size:18px;
    font-weight:500;
    border:1px solid #267946;
    border-radius: 50px;
}
}


.info_phone {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
    line-height:2.2em;
    margin:0 0 20px;
}


.info_phone dt {
    width:15%;
    text-align:center;
    font-size: clamp(13px, 1vw, 16px);
    font-weight:300;
}


.info_phone dd {
    width:84%;
    text-align:justify;
    font-size: clamp(14px, 1.5vw, 18px);
    font-weight:600;
    font-family:YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    letter-spacing:.5px;
    color:#267946;
}


@media all and (max-width:560px) {
.info_phone:last-child {
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
    line-height:2.2em;
    margin:0 0 50px;
}
    
.info_phone dt {
    width:100%;
    text-align:center;
    font-size: clamp(14px, 1vw, 18px);
    font-weight:300;
}


.info_phone dd {
    width:100%;
    text-align:center;
    font-size: clamp(12px, 1.5vw, 16px);
    font-weight:600;
    font-family:YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    letter-spacing:.5px;
    color:#267946;
}
}


.info_phone dd span {
    font-size: clamp(16px, 1.5vw, 24px);
    padding:0 0 0 3px;
}


.info_phone2 {
    width:100%;
    font-size: clamp(12px, 1.5vw, 16px);
    font-weight:600;
    font-family:YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    letter-spacing:.5px;
    color:#267946;
    text-align:center;
    line-height:2.2em;
    margin:0 0 30px;
}


.info_phone2 span {
    font-size: clamp(18px, 1.5vw, 26px);
    padding:0 0 0 3px;
}


.info_phone2 a {
    font-size: clamp(18px, 1.5vw, 26px);
    padding:0 0 0 3px;
    color:#267946;
    text-decoration:none;
}


.tbl_form {
    width:100%;
    border:none;
    border-collapse: collapse;
    font-size: clamp(14px, 1.5vw, 16px);
}


.tbl_form th, .tbl_form td {
    padding:1.2em .5em;
    text-align:left;
    font-weight:400;
}


.tbl_form th {
    width:20%;
    position:relative;
    padding-right:50px;
}


.tbl_form th.va-top {
    vertical-align: top;
}


.pt--20 {
    padding-top:2.8em !important;
}


@media all and (max-width:560px) {
.pt--20 {
    padding-top:1.2em !important;
}    
}


.tbl_form th.require::after {
    content:"必須";
    font-size:12px;
    color:#FFF;
    background:#ec6941;
    padding:.4em 1em;
    border-radius: 5px;
    position:absolute;
    top:50%;
    right:5px;
    transform:translateY(-50%);
}


.tbl_form th.va--top {
    width:20%;
    position:relative;
    padding-top:30px;
    padding-right:50px;
    vertical-align: top;
}


.tbl_form th.va--top.require::after {
    content:"必須";
    font-size:12px;
    color:#FFF;
    background:#ec6941;
    padding:.4em 1em;
    border-radius: 5px;
    position:absolute;
    top:25px;
    right:5px;
    transform:none;
}



@media all and (max-width:560px) {
.tbl_form th, .tbl_form td {
    display:block;
    padding:.3em 0;
    text-align:left;
    font-weight:400;
}


.tbl_form th {
    width:100%;
    position:relative;
    padding-right:50px;
} 
    
.tbl_form th.require::after {
    content:"必須";
    font-size:12px;
    color:#FFF;
    background:#ec6941;
    padding:.3em 1em;
    border-radius: 5px;
    position:absolute;
    top:50%;
    right:5px;
    transform:translateY(-50%);
}
    
.tbl_form th.va--top {
    width:100%;
    position:relative;
    padding-top:0;
    padding-right:50px;
    vertical-align: top;
}


.tbl_form th.va--top.require::after {
    content:"必須";
    font-size:12px;
    color:#FFF;
    background:#ec6941;
    padding:.4em 1em;
    border-radius: 5px;
    position:absolute;
    top:50%;
    right:5px;
    transform:translateY(-50%);
}
}


.block_privacy {
    width:96%;
    max-width:1000px;
    margin:0 auto;
    padding:100px 0 50px;
    text-align:center;
    font-size:16px;
    
}


@media all and (max-width:560px) {
.block_privacy {
    width:100%;
    max-width:1000px;
    margin:0 auto;
    padding:50px 0 50px;
    text-align:center;
    font-size:14px;
    
}
    
}