@charset "utf-8";
/* CSS Document */

html{
    font-size: 10px;
}
section{
    padding: 3rem 0;
}
.display_sp{
    display: block;
}
.display_pc{
    display: none;
}
.min-width-500{
    min-width: 100% !important;
}
.sp_image_w100{
    width: 100% !important;
}
.sp_mb-3_child > *{
    margin-bottom: 3rem
}
.sp_mb-1{
    margin-bottom: 1rem
}
.sp_mb-2{
    margin-bottom: 1rem
}
.sp_mb-3{
    margin-bottom: 3rem
}

.sp_mrl-2_child > *{
    margin-left: 2rem;
    margin-right: 2rem;
}
.sp_mrl-2{
    margin-left: 2rem;
    margin-right: 2rem;
}
.sp_prl-0{
    padding-left: 0rem;
    padding-right: 0rem;
}
.sp_prl-2{
    padding-left: 2rem!important;
    padding-right: 2rem!important;
}
.sp_prl-2_child > *{
    padding-left: 2rem!important;
    padding-right: 2rem!important;
}
.sp_prl-0_child > *{
    padding-left: 0rem!important;
    padding-right: 0rem!important;
}
.sp_text-center_child > *{
    text-align: center;
}
.sp_width100_child > *{
    width: 100%;
}

.h2_heading_01 > *::before{
    content: url("../images/_common/h2_01_backgorund_1.png");
    position: absolute;
    top: 50%;
    left: -40px;
    margin-top: -18px;
}
.h2_heading_01 > *::after{
    content: url("../images/_common/h2_01_backgorund_2.png");
    position: absolute;
    top: 50%;
    right: -40px;
    margin-top: -18px;
}
.h2_heading_02{
    text-align: center;
    margin-bottom: 2rem;
}
.h2_heading_02 > *{
    display: inline-block;
    position: relative;
    margin: 0 auto;
    font-size: 2rem;
    font-weight: normal;
    color: #017C50;
    line-height: 1
}
.h2_heading_02 span{
    font-size: 1rem;
    display: block;
}
.h2_heading_02 > *::before{
    left: -25px;
    margin-top: 0px;
}
.h2_heading_02 > *::after{
    right: -25px;
    margin-top: 0px;
}
.h3_heading_01{
    font-size: 1.5rem;
    margin-bottom: 1rem;
    padding: 10px 0 10px 30px;
    background-size: 30px;
}
.h3_heading_01 span{
    display: block;
    border-bottom: 1px solid #017C50;
    padding: 0 0 0 1rem;
}

.btn{
    width: 80%;        
}

.btn2,
a.btn2,
button.btn2,
input.btn2{
min-width: calc(100% - 12rem)
}
.out_line_width{
    width:80%;
    margin: 0 auto;
}
header{
    position: fixed;
    height: 60px;
}
header .over_head{
    display: none;
}
header .global_nav_pc{
    display: block;
    opacity: 1;
}
header .global_nav_pc .left_area{
    display: flex;
    height: 60px;
    align-items: center;
}
header .global_nav_pc .left_area img{
    height: 100%;
    width: auto!important;
}
header .global_nav_pc .left_area > div:nth-child(1),
header .global_nav_pc .left_area > div:nth-child(2){
   height: 30%;
    margin-left: 0.5rem;
}
header .global_nav_pc .right_area{
    display: none;
}
header .sp_menu{
    display: block;
    background:#FFF;
    border-top:#CCC 1px solid;
    
}
    header .sp_menu nav a{
        display: block;
        color: #000;
        padding: 1rem ; 
    }
header .sp_menu nav > ul > li{
    border-bottom:#CCC 1px solid;
    text-align: center;
}
header .sp_menu nav .sub_menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
header .sp_menu nav .sub_menu >li{
    width: calc(50% - 2px);
    margin-bottom: 2px;
    background-color: #E2E2E2;
}
header .sp_menu nav .sub_menu >li a{
    display: block;
    padding: 0.5rem 1rem;
    line-height: 1;
}
header .Toggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    width: 42px;
    height: 42px;
    cursor: pointer;
    z-index: 3;
  right:0.5rem;
}
 
header .Toggle span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: solid 4px #333;
    -webkit-transition: .35s ease-in-out;	/*変化の速度を指定*/
    -moz-transition: .35s ease-in-out;		/*変化の速度を指定*/
    transition: .35s ease-in-out;			/*変化の速度を指定*/
 
}
 /*各ボーダー少しずつずらす*/
header .Toggle span:nth-child(1) {
    top:9px;
}
 header .Toggle span:nth-child(2) {
    top: 18px;
}
 header .Toggle span:nth-child(3) {
    top: 27px;
}
header .Toggle.active span:nth-child(1) {
    top: 18px;
/* 1番目のspanをマイナス45度に */
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
/* 2番目と3番目のspanを45度に */
header .Toggle.active span:nth-child(2),
header .Toggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
    
header .sp_menu{
  transition: 0.25s ease;/*滑らかに表示*/
  -webkit-transform: translateX(-100%);/*画面より100%外へ押し出し非表示にさせる*/
 
}
 
header .sp_menu.open {
 -webkit-transform: translateX(0%);
 transform: translateX(0%);/*メニューを元の位置へ戻す*/
 
}    
    
footer .footer_address p{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
footer .footer_address img{
    width: 100%
}
footer .footer_menu{
    display: none;
}

