@charset "UTF-8";
/* CSS Document */
/*--------------------
01.top
02.メンバー一覧
03.メンバー詳細
04.授業実践レポート
04-01.授業実践レポート詳細
05.コラム
05-01.コラム詳細
06.活動実績
06-01.活動実績詳細
07.お知らせ
07-01.お知らせ詳細
08.私たちの活動
09.お問い合わせ
09-01.お問い合わせ確認
09-02.お問い合わせ完了
10.プライバシーポリシー
11.Not found
12.タクソノミー関係ページ
--------------------*/
/*----------
01.top
----------*/
#top #mainvisual_area{
/* max-width: 1500px;
width: 100%;
margin: 0 auto; */
/* background-color: #ddd; */
position: relative;
padding: 150px 0 86px;
}

#top #mainvisual_area .contents_in{
position: relative;
z-index: 1;
max-width: 1318px;
align-items: start;
}

#top #mainvisual_area .catchcopy_box{
position: relative;
max-width: 557px;
width: 100%;
padding: 50px 52px 69px 109px;
font-weight: 700;
line-height: 1.5;
}

#top #mainvisual_area .catchcopy_box::before{
content: "";
display: block;
top: 0;
left: 0;
background-color: rgba(255,255,255,.7);
border-radius: 153px 0 0 153px;
width: 120%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}

#top #mainvisual_area .catchcopy_box .catchcopy{
font-size: 44px;
margin-bottom: 30px;
position: relative;
z-index: 1;
}

#top #mainvisual_area .catchcopy_box .small_text{
font-size: 28px;
}

#top #mainvisual_area .catchcopy_box .blue_text{
color: #54BBE7;
}

#top #mainvisual_area .catchcopy_box .green_text{
color: #A4CE60;
}

#top #mainvisual_area .catchcopy_box .orange_text{
color: #F3B540;
}

#top #mainvisual_area .catchcopy_box .sub_catchcopy{
font-size: 18px;
position: relative;
z-index: 1;
}

#top #mainvisual_area .article_list_ptn01{
max-width: 670px;
width: 100%;
margin-top: -20px;
}

#top #mainvisual_area .article_list_ptn01 .cnt_box{
max-width: none;
width: 100%;
margin: 0;
border-bottom: none;
padding: 20px 20px 0 0;
}

#top #mainvisual_area .article_list_ptn01 .cnt_box .cnt_img{
border-radius: 20px;
margin-bottom: 0;
z-index: 1;
}

#top #mainvisual_area .article_list_ptn01 .cnt_box .cnt_img a::after{
padding-top: 62%;
}

#top #mainvisual_area .article_list_ptn01 .article_type_ptn01{
top: 0;
right: 0px;
font-size: 18px;
}

#top #mainvisual_area .article_list_ptn01 .cnt_box .cnt_text{
padding: 20px 30px 33px;
position: relative;
}

#top #mainvisual_area .article_list_ptn01 .cnt_box .cnt_text::before{
content: "";
display: block;
width: 100%;
height: 120%;
background-color: rgba(255,255,255,.7);
position: absolute;
bottom: 0;
left: 0;
border-radius: 0 0 153px 153px;
}

#top #mainvisual_area .article_list_ptn01 .cnt_box .article_title{
font-size: 24px;
margin-bottom: 10px;
position: relative;
z-index: 1;
}

#top #mainvisual_area .article_list_ptn01 .info_box_ptn01{
font-size: 14px;
position: relative;
z-index: 1;
}

#top #mainvisual_area .article_list_ptn01 .tag_list_ptn01{
position: relative;
z-index: 1;
}

#top #mainvisual_area .illust{
position: absolute;
}

#top #mainvisual_area .illust_d{
/* max-width: 464px; */
width: 30.94%;
/* top: 137px;
left: -80px; */
top: 15.56%;
left: -5.34%;
}

#top #mainvisual_area .illust_c01{
/* max-width: 389px; */
width: 25.94%;
/* top: -50px;
left: 576px; */
top: -5.68%;
left: 38.4%;
}

#top #mainvisual_area .illust_c02{
/* max-width: 503px; */
width: 33.54%;
/* bottom: -45px;
right: -80px; */
bottom: -5.11%;
right: -5.34%;
}


#top #mainvisual_area .scroll_box{
position: absolute;
bottom: 60px;
right: 120px;
width: 80px;
height: 80px;
border-radius: 50%;
border: 1px solid #1E2022;
display: flex;
align-items: center;
justify-content: center;
}

#top #mainvisual_area .scroll_box img{
max-width: 27px;
width: 100%;
transform: rotate(90deg);
animation: scrolldown 2.5s ease infinite;
}

@keyframes scrolldown{
0%{
transform: translateY(-15px) rotate(90deg);
opacity: 0;
}
50%{
transform: translateY(0px) rotate(90deg);
opacity: 1;
}
100%{
transform: translateY(15px) rotate(90deg);
opacity: 0;
}
}

#top #mainvisual_area .slick_info{
position: absolute;
bottom: 43px;
left: 20px;
align-items: flex-end;
}

#top #mainvisual_area .slick_dots{
margin-bottom: 25px;
}

#top #mainvisual_area .slick_dots ul{
display: flex;
align-items: center;
}

#top #mainvisual_area .slick_dots li{
width: 18px;
height: 18px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 10px;
position: relative;
}

#top #mainvisual_area .slick_dots li button{
display: block;
font-size: 0;
width: 8px;
height: 8px;
background-color: #1E2022;
padding: 0;
border: none;
border-radius: 50%;
position: relative;
}

#top #mainvisual_area .slick_dots li.slick-active::before{
content: "";
display: block;
width: 17px;
height: 17px;
border: 1px solid #000;
border-radius: 50%;
position: absolute;
top: 0;
left: 0;
}

#top #mainvisual_area .slick_dots li .btn::before{
transform: rotate(-90deg);
left: -9.5px;
}

#top #mainvisual_area .slick_dots li .btn::after{
transform: rotate(90deg);
right: -9.5px;
}

#top #mainvisual_area .progree_numbers{
width: 90px;
margin-left: 30px;
}

#top #mainvisual_area .progree_numbers .slide_control_button{
/* width: 55px; */
width: 90px;
height: 90px;
cursor: pointer;
}

#top #mainvisual_area .progree_numbers .slide_control_button .in{
position: relative;
width: 100%;
height: 100%;
}

#top #mainvisual_area .progree_numbers .slide_control_number{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
width: 90px;
height: 100%;
color: #1E2022;
font-weight: 700;
font-size: 30px;
z-index: 3;
margin: 0 0 0 auto;
position: relative;
}

#top #mainvisual_area .progree_numbers .slide_control_number span{
display: inline-block;
vertical-align: top;
}

#top #mainvisual_area .progree_numbers .slide_control_bg{
position: absolute;
top: 0;
right: 0;
height: 100%;
width: 90px;
z-index: 2;
}

#top #mainvisual_area .progree_numbers .slide_control_bg path.base{
fill: rgba(105,105,105,.0);
stroke: rgba(188,188,188,.0);
stroke-miterlimit: 10;
stroke-width: 1px;
}

#top #mainvisual_area .progree_numbers .slide_control_bg path.line_up{
fill:none;
stroke: #1E2022;
stroke-miterlimit: 10;
stroke-width: 1;
stroke-dasharray: 1000;
stroke-dashoffset: 1000;
}

#top #mainvisual_area .progree_numbers .slick-current .slide_control_bg path.line_up{
-webkit-animation: dash 5s linear forwards;
animation: dash 5s linear forwards;
}

@-webkit-keyframes dash {
to {
stroke-dashoffset: 750;
}
}
@keyframes dash {
to {
stroke-dashoffset: 750;
}
}

#top .area_type01{
padding-bottom: 70px;
position: relative;
z-index: 1;
}

#top .area_type01 .article_list_ptn04 .cnt_img::after{
content: "";
display: block;
padding-top: 72%;
}

#top .area_type01 .article_list_ptn04 .cnt_img img{
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
object-fit: cover;
object-position: 50% 0;
}

#top .area_type01 .article_list_ptn04 .article_type_ptn01{
position: static;
border-radius: 20px;
padding: 6px 20px;
}

#top #classpractice_area{
margin-bottom: 120px;
}

#top #classpractice_area .cnt_g{
margin-bottom: 30px;
}

#top #classpractice_area .article_list_ptn04 .cnt_box a{
align-items: start;
}

#top #top_search_area{
padding: 80px 0 0;
}

#top #top_search_area .title{
text-align: center;
font-weight: 700;
font-size: 20px;
line-height: 1.4;
margin-bottom: 15px;
}

#top #top_search_area .title::before{
content: "";
display: inline-block;
width: 10px;
height: 10px;
background: linear-gradient(90deg, rgba(166,219,212,1) 0%, rgba(109,199,211,1) 100%);
border-radius: 50%;
vertical-align: top;
margin-right: 10px;
margin: 10px 10px 0 0;
}

#top #top_search_area .cnt_box{
border-radius: 20px;
background: linear-gradient(90deg, rgba(166,219,212,1) 0%, rgba(109,199,211,1) 100%);
padding: 30px 10px 10px;
margin-bottom: 50px;
}

#top #top_search_area .area_box {
background: linear-gradient(270deg, rgba(166,219,212,1) 0%, rgba(109,199,211,1) 100%);
}

#top #top_search_area .category_list_ptn02{
max-width: 724px;
width: 100%;
margin: 0 auto;
}

/*----------
02.メンバー一覧
----------*/
#members .lower_h1_area{
margin-bottom: 80px;
}

#members #cnt_area01{
margin-bottom: 60px;
}

/*----------
03.メンバー詳細
----------*/
#members_detail #intro_area{
padding-top: 64px;
margin-bottom: 60px;
}

#members_detail #intro_area .contents_in{
position: relative;
}

#members_detail #intro_area .cnt_box{
align-items: start;
justify-content: space-between;
}

#members_detail #intro_area .cnt_img{
max-width: 400px;
width: 36.37%;
overflow: hidden;
border-radius: 20px;
border:2px solid #fff;
}

#members_detail #intro_area .cnt_text{
max-width: 600px;
width: 54.55%;
padding-top: 20px;
}

#members_detail #intro_area .position_text{
font-size: 14px;
line-height: 1.4;
margin-bottom: 20px;
}

#members_detail #intro_area .name_text{
font-weight: 700;
font-size: 30px;
line-height: 1;
margin-bottom: 11px;
}

#members_detail #intro_area .furigana_text{
font-weight: 500;
font-size: 16px;
line-height: 1.4;
color: #b7b7b7;
margin-bottom: 50px;
}

#members_detail #intro_area .sns_list{
align-items: center;
margin-bottom: 50px;
}

#members_detail #intro_area .sns_list li{
max-width: 25px;
width: 100%;
margin: 0 20px 0 0;
}

#members_detail #intro_area .cnt_text p{
font-weight: 500;
font-size: 16px;
line-height: 1.8;
}

#members_detail #article_area{
margin-bottom: 80px;
}

#members_detail #article_area .cnt_box{
border-radius: 20px;
border: 1px solid #C8D4DA;
margin-bottom: 60px;
padding: 40px 0 0;
}

#members_detail #article_area .cnt_box .title{
border-top: 1px solid #C8D4DA;
border-bottom: 1px solid #C8D4DA;
font-weight: 700;
font-size: 24px;
line-height: 1;
letter-spacing: 0.04em;
padding: 19px 0 19px 69px;
position: relative;
}

#members_detail #article_area .cnt_box .title::before{
content: "";
display: inline-block;
width: 1px;
height: 100%;
background-color: #2E1300;
position: absolute;
top: 0;
left: 50px;
}

#members_detail #article_area .cnt_box .cnt_text{
padding: 40px 50px 60px;
font-weight: 500;
font-size: 16px;
line-height: 1.8;
}

#members_detail #article_area .cnt_box .cnt_text p + ul,#members_detail #article_area .cnt_box .cnt_text p + p{
margin-top: 30px;
}

#members_detail #article_area .cnt_box .cnt_text ul{
line-height: 2;
}

#members_detail #article_area .cnt_box .cnt_text .list_type01 li{
text-indent: -1.2em;
margin: 0 0 0 1.2em;
}

#members_detail .back_btn{
margin-bottom: 120px;
}

#members_detail .back_btn a{
padding-left: 20px;
}

#members_detail .back_btn a::before{
right: auto;
left: 20px;
}

#members_detail .back_btn a::after{
right: auto;
left: 33px;
transform: translateY(-50%) scale(-1);
}

#members_detail .back_btn a:hover::before{
width: 50px;
height: 50px;
right: auto;
left: 15px;
}

#members_detail .back_btn a:hover::after{
animation: fade_arrow_right .4s forwards;
}

/*----------
04.授業実践レポート
----------*/

/*----------
04-01.授業実践レポート詳細
----------*/
#class_practice_detail #cnt_area02 .back_btn a{
background-color: #A4CE60;
}


/*----------
05.コラム
----------*/

/*----------
05-01.コラム詳細
----------*/
#education_column_detail #cnt_area02 .back_btn a{
background-color: #54BBE7;
}


/*----------
06.活動実績
----------*/
/*----------
06-01.活動実績詳細
----------*/

/*----------
07.お知らせ
----------*/
#news #cnt_area01{
margin-bottom: 80px;
}

/*----------
07-01.お知らせ詳細
----------*/


/*----------
08.私たちの活動
----------*/
#about .lower_h1_area{
padding-bottom: 80px;
}

#about #summary_area{
position: relative;
margin-bottom: 100px;
}

#about #summary_area .bg_blue{
border-radius: 60px;
background-color: #E5F0F1;
width: calc(100% - 60px);
margin: 0 auto;
padding: 60px 0;
}

#about #summary_area .logo{
max-width: 350px;
width: 100%;
margin: 0 auto 40px;
}

#about #summary_area .first_text{
margin-bottom: 100px;
font-weight: 500;
font-size: 18px;
line-height: 2;
}

#about #summary_area .first_text .strong_text{
position: relative;
background:linear-gradient(transparent 85%, #54BBE7 85%);
}

#about .area_type02 .cnt_block{
margin-bottom: 80px;
}

#about .area_type02 .cnt_box{
border-radius: 20px;
background-color: #fff;
border: 1px solid #C8D4DA;
position: relative;
padding: 40px 0;
margin-bottom: 60px;
}

#about .area_type02 .cnt_box .article_type_ptn01{
right: auto;
top: -20px;
left: -9px;
border-radius: 20px 20px 0px 20px;
}

#about #summary_area .cnt_box .more_btn{
display: none;
max-width: 350px;
width: 100%;
margin: 0 auto;
background-color: #E5F0F1;
border-radius: 60px;
border: 1px solid #C8D4DA;
padding: 21px 0;
text-align: center;
font-weight: 500;
font-size: 16px;
cursor: pointer;
}

#about #summary_area .cnt_box .more_btn span{
display: inline-block;
position: relative;
padding: 0 0 0 24px;
}

#about #summary_area .cnt_box .more_btn span::before,#about #summary_area .cnt_box .more_btn span::after{
content: "";
display: block;
width: 14px;
height: 3px;
background-color: #1E2022;
position: absolute;
top: 7px;
left: 0;
transition: all .3s;
}

#about #summary_area .cnt_box .more_btn span::before{
transform: rotate(90deg);
}

#about #summary_area .cnt_box .more_btn:hover span::before{
transform: rotate(180deg);
}

#about .area_type02 .cnt_box .cnt_in{
padding: 0 50px;
/* display: none; */
}

#about .area_type02 .cnt_box p{
font-weight: 500;
font-size: 16px;
line-height: 1.8;
margin-bottom: 40px;
}

#about .area_type02 .img_g{
justify-content: space-between;
margin-bottom: 40px;
}

#about .area_type02 .img_box{
width: 48%;
}

#about .area_type02 .colorbox{
text-decoration: underline;
cursor: pointer;
}

#about .area_type02 .big_img{
display: none;
position: fixed;
width: 100%;
height: 100%;
z-index: 10;
background: linear-gradient(90deg, rgba(166,219,212,.8) 30%, rgba(109,199,211,.8) 100%);
top: 0;
left: 0;
}

#about .area_type02 .big_img img{
width: 80%;
border-radius: 23px;
overflow: hidden;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}

#about .area_type02 .big_img .close_btn{
position: absolute;
top: 20px;
right: 20px;
width: 60px;
height: 60px;
cursor: pointer;
border: 1px solid #1E2022;
border-radius: 50%;
}

#about .area_type02 .big_img .close_btn:hover{
opacity: .6;
}

#about .area_type02 .big_img .close_btn::before,#about .area_type02 .big_img .close_btn::after{
content: "";
display: block;
width: 30px;
height: 2px;
background: #1E2022;
position: absolute;
top: 50%;
left: 15px;
transform: translate(0,-50%);
border-radius: 5px;
}

#about .area_type02 .big_img .close_btn::before{
transform: rotate(45deg);
}

#about .area_type02 .big_img .close_btn::after{
transform: rotate(-45deg);
}

#about #summary_area .cnt_box .btn_ptn02+.btn_ptn02{
margin-top: 20px;
}

#about #summary_area .block01 + .first_text{
margin: 0px auto 80px;
}

#about #summary_area .block01 + .first_text .strong_text{
background:linear-gradient(transparent 85%, #A4CE60 85%);
}

#about #summary_area #keyword04 .img_box{
width: 31.83%;
}

#about #summary_area #keyword04 .big_img img,#about .big_img .height_img{
width: auto !important;
height: 90%;
}

#about #vision_area{
margin-bottom: 100px;
}

#about #vision_area .first_text{
font-weight: 500;
font-size: 18px;
line-height: 2;
margin-bottom: 60px;
}

#about #vision_area .first_text .strong_text,#about #vision_area .block03 p .strong_text{
background:linear-gradient(transparent 85%, #F3B540 85%);
}

#about #vision_area .block03 .title{
font-weight: 700;
font-size: 20px;
-ms-text-kashida-space: 1.6;
padding: 10px 0 10px 20px;
border-left: 1px solid #1E2022;
margin-bottom: 30px;
}

#about #vision_area .block03 p{
font-weight: 500;
font-size: 18px;
line-height: 2;
margin-bottom: 60px;
}

#about #vision_area .cnt_box .cnt_in{
display: block;
}

#about #vision_area .block03 dl{
margin-bottom: 40px;
}

#about #vision_area .block03 .dl_box{
align-items: center;
}

#about #vision_area .block03 .dl_box:not(:last-child){
margin-bottom: 20px;
}

#about #vision_area .block03 .dl_box dt{
font-weight: 700;
font-size: 18px;
}

#about #vision_area .block03 .dl_box dt span{
font-weight: 22px;
color: #F3B540;
}

#about #vision_area .block03 .dl_box dd::before{
content: "";
display: inline-block;
vertical-align: middle;
width: 70px;
margin: 0 10px;
height: 1px;
border-top: 1px dashed #000;
}

#about #vision_area .block03 .dl_box dd{
font-weight: 500;
font-size: 16px;
line-height: 1;
}

#about .area_type01{
margin-bottom: 100px;
}

#about .area_type01 .first_text{
font-weight: 500;
font-size: 18px;
line-height: 2;
margin-bottom: 60px;
}

#about .area_type01 figure{
display: block;
max-width: 950px;
width: 100%;
margin: 0 auto;
}

#about .area_type01 figure img{
border-radius: 20px;
margin-bottom: 20px;
}

#about .area_type01 figure figcaption{
text-align: center;
font-weight: 500;
font-size: 20px;
line-height: 1;
}

#about #strucrue_area .cnt_g{
justify-content: space-between;
flex-wrap: wrap;
}

#about #strucrue_area .cnt_box{
width: 48%;
margin-bottom: 40px;
}

#about #strucrue_area .colorbox{
text-decoration: underline;
cursor: pointer;
}

#about #strucrue_area .big_img{
display: none;
position: fixed;
width: 100%;
height: 100%;
z-index: 10;
background: linear-gradient(90deg, rgba(166,219,212,.8) 30%, rgba(109,199,211,.8) 100%);
top: 0;
left: 0;
}

#about #strucrue_area .big_img img{
width: 80%;
border-radius: 23px;
overflow: hidden;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}

#about #strucrue_area .big_img .close_btn{
position: absolute;
top: 20px;
right: 20px;
width: 60px;
height: 60px;
cursor: pointer;
border: 1px solid #1E2022;
border-radius: 50%;
}

#about #strucrue_area .big_img .close_btn:hover{
opacity: .6;
}

#about #strucrue_area .big_img .close_btn::before,#about #strucrue_area .big_img .close_btn::after{
content: "";
display: block;
width: 30px;
height: 2px;
background: #1E2022;
position: absolute;
top: 50%;
left: 15px;
transform: translate(0,-50%);
border-radius: 5px;
}

#about #strucrue_area .big_img .close_btn::before{
transform: rotate(45deg);
}

#about #strucrue_area .big_img .close_btn::after{
transform: rotate(-45deg);
}

#about #achievements_area .first_text{
margin-bottom: 40px;
}

#about #achievements_area .btn_ptn02{
margin-bottom: 40px;
}

#about #message_area{
position: relative;
margin-bottom: 120px;
}

#about #message_area::before{
content: "";
display: block;
width: 128%;
height: 100%;
border-radius: 600px;
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
background: rgb(166,219,212);
background: linear-gradient(90deg, rgba(166,219,212,1) 30%, rgba(109,199,211,1) 100%);
}

#about #message_area .contents_in{
position: relative;
z-index: 1;
padding: 120px 0;
}

#about #message_area .cnt_box{
align-items: center;
justify-content: space-between;
margin-bottom: 40px;
}

#about #message_area .cnt_img{
max-width: 400px;
width: 36.37%;
border-radius: 20px;
overflow: hidden;
border: 2px solid #fff;
}

#about #message_area .cnt_text{
max-width: 650px;
width: 59.1%;
}

#about #message_area p{
font-weight: 500;
font-size: 18px;
line-height: 2;
}

#about #message_area .border_box{
border: 2px solid #fff;
border-radius: 30px;
padding: 40px 50px;
margin-bottom: 40px;
}

#about .youtube_box{
max-width: 950px;
width: 100%;
margin: 80px auto 0px;
text-align: center;
}

#about .youtube_box .youtube{
border-radius: 20px;
overflow: hidden;
margin-bottom: 20px;
transition: all .3s;
}

#about .youtube_box .youtube:hover{
opacity: .7;
}

#about .youtube_box .youtube iframe{
display: block;
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
}

#about .youtube_box .youtube_caption{
display: inline-block;
border-bottom: 1px solid #1E2022;
font-weight: 500;
font-size: 20px;
line-height: 1;
}

#about .youtube_box + .first_text{
margin-bottom: 0;
}

/*----------
09.お問い合わせ
----------*/
.contact_page #cnt_area01{
padding-bottom: 120px;
}

.contact_page #cnt_area01 .first_text{
font-weight: 500;
font-size: 18px;
line-height: 1.6;
margin-bottom: 40px;
}

.contact_page #cnt_area01 .first_text a{
transition: all .3s;
border-bottom: 1px solid #1E2022;
}

.contact_page #cnt_area01 .first_text a:hover{
border-bottom: none;
}

.contact_page #cnt_area01 .cnt_g{
border-radius: 20px;
background-color: #E5F0F1;
padding: 50px 50px 80px;
}

.contact_page #cnt_area01 .cnt_box{
margin-bottom: 60px;
}

.contact_page #cnt_area01 .dl_box{
align-items: center;
margin-bottom: 20px;
}

.contact_page #cnt_area01 .dl_box dt{
font-weight: 700;
font-size: 16px;
line-height: 1;
max-width: 230px;
width: 100%;
margin-right: 20px;
padding: 3px 50px 3px 0;
position: relative;
}

.contact_page #cnt_area01 .dl_box dt::before{
content: "任意";
color: #fff;
background-color: #1E2022;
border-radius: 5px;
display: block;
width: 40px;
padding: 4px 0;
text-align: center;
font-weight: 700;
font-size: 14px;
line-height: 1;
position: absolute;
top: 0;
right: 0;
}

.contact_page #cnt_area01 .dl_box dt.required::before{
content: "必須";
background-color: #DD4646;
}

.contact_page #cnt_area01 .dl_box dd{
width: calc(100% - 230px - 20px);
font-weight: 500;
font-size: 16px;
}

.contact_page #cnt_area01 .mw_wp_form .error{
font-size: 12px;
color: #DD4646;
margin-top: 4px;
}

.contact_page #cnt_area01 .dl_box input[type="text"],.contact_page #cnt_area01 .dl_box input[type="tel"],.contact_page #cnt_area01 .dl_box input[type="email"],.contact_page #cnt_area01 .dl_box textarea{
width: 100%;
border: 1px solid #C8D4DA;
border-radius: 5px;
background-color: #fff;
padding: 12px 24px;
font-weight: 500;
font-family: "Noto Sans JP", sans-serif;
font-size: 16px;
line-height: 1;
}

.contact_page #cnt_area01 .dl_box textarea{
height: 200px;
padding: 12px 19px;
}

.contact_page #cnt_area01 .dl_box ::placeholder{
color: #CBCBCB;
}

.contact_page #cnt_area01 .dl_box .mwform-radio-field{
display: block;
font-weight: 500;
font-size: 16px;
margin: 0;
}

.contact_page #cnt_area01 .dl_box .mwform-radio-field:not(:last-child){
margin-bottom: 15px;
}

.contact_page #cnt_area01 input[type="radio"],.contact_page #cnt_area01 input[type="checkbox"] {
display: none;
}

.contact_page #cnt_area01 .mwform-radio-field-text {
position: relative;
display: inline-block;
padding: 2px 0 2px 30px;
cursor: pointer;
}

.contact_page #cnt_area01 .mwform-radio-field-text::before {
position: absolute;
content: '';
top: 0;
left: 0;
width: 20px;
height: 20px;
background: #fff;
border: 1px solid #C8D4DA;
border-radius: 50%;
box-sizing: border-box;
}

.contact_page #cnt_area01 input[type="radio"]:checked + .mwform-radio-field-text::after {
position: absolute;
content: '';
top: 5px;
left: 5px;
width: 10px;
height: 10px;
background-color: #54BBE7;
border-radius: 50%;
}

.contact_page #cnt_area01 .details_box,.contact_page #cnt_area01 .address_box,.contact_page #cnt_area01 .remarks_box{
align-items: start;
}

.contact_page #cnt_area01 .dl_box input.zip_number{
width: 150px;
margin-right: 20px;
}

.contact_page #cnt_area01 .address_box dt{
margin-top: 15px;
}

.contact_page #cnt_area01 .dl_box .zip_box{
align-items: center;
margin-bottom: 20px;
position: relative;
}

.contact_page #cnt_area01 .dl_box .zip_box span{
color: #686868;
font-weight: 500;
font-size: 18px;
}

#confirm.contact_page #cnt_area01 .dl_box .zip_box span{
visibility: hidden;
}

.contact_page #cnt_area01 .dl_box .zip_box span.error{
position: absolute;
bottom: -14px;
font-size: 12px;
color: #DD4646;
}

.contact_page #cnt_area01 .remarks_box dt{
margin-top: 12px;
}

.contact_page #cnt_area01 .privacy_box{
text-align: center;
font-size: 0;
margin-bottom: 20px;
position: relative;
}

.contact_page #cnt_area01 .privacy_box .privacy_text{
font-weight: 500;
font-size: 16px;
line-height: 25px;
display: inline-block;
vertical-align: text-top;
}

.contact_page #cnt_area01 .privacy_box a{
transition: all .3s;
border-bottom: 1px solid #1E2022;
}

.contact_page #cnt_area01 .privacy_box a:hover{
border-bottom: none;
}

.contact_page #cnt_area01 .privacy_box .mwform-checkbox-field{
display: inline-block;
position: relative;
height: 25px;
vertical-align: text-top;
padding-left: 32px;
}

.contact_page #cnt_area01 .privacy_box .mwform-checkbox-field-text{
font-size: 0;
}

.contact_page #cnt_area01 .privacy_box .mwform-checkbox-field-text::before {
position: absolute;
content: '';
top: 0;
left: 0;
background: #fff;
border: 1px solid #C8D4DA;
box-sizing: border-box;
width: 25px;
height: 25px;
border-radius: 2px;
}

.contact_page #cnt_area01 .privacy_box input[type="checkbox"]:checked + .mwform-checkbox-field-text::before {
background-color: #54BBE7;
border-color: #54BBE7;
}

.contact_page #cnt_area01 .privacy_box input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
position: absolute;
content: '';
top: 4px;
left: 2px;
width: 17px;
height: 8px;
border-left: 3px solid #fff;
border-bottom: 3px solid #fff;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.contact_page #cnt_area01 .privacy_box .error{
position: absolute;
max-width: 260px;
width: 100%;
margin: 0 auto;
text-align: left;
top: -16px;
left: 0;
right: 0;
}

.contact_page #cnt_area01 .submit_btn{
max-width: 350px;
width: 100%;
margin: 0 auto;
position: relative;
}

.contact_page #cnt_area01 .submit_btn::before,.contact_page #cnt_area01 .submit_btn::after{
content: "";
display: block;
position: absolute;
top: 50%;
transform: translateY(-50%);
}

.contact_page #cnt_area01 .submit_btn::before{
width: 40px;
height: 40px;
border-radius: 50%;
background-color: #1E2022;
right: 20px;
}

.contact_page #cnt_area01 .submit_btn::after{
width: 14px;
height: 10px;
background: url(../common/img/arrow_white_right.png) no-repeat center center/100% auto;
right: 33px;
}

.contact_page #cnt_area01 .submit_btn .submit{
display: block;
width: 100%;
font-family: "Noto Sans JP", sans-serif;
font-weight: 500;
font-size: 16px;
border-radius: 60px;
border: 1px solid #1E2022;
text-align: center;
padding: 28px 0 27px;
background: none;
box-sizing: border-box;
cursor: pointer;
}

#autozip{
display: none !important;
}

/*----------
09-01.お問い合わせ確認
----------*/
#confirm #cnt_area01 .dl_box dt,#confirm #cnt_area01 .dl_box dd{
line-height: 1.4;
}

#confirm #cnt_area01 .dl_box .zip_box{
margin-bottom: 0;
}

#confirm #cnt_area01 .address_box dt,#confirm #cnt_area01 .remarks_box dt{
margin-top: 6px;
}


/*----------
09-02.お問い合わせ完了
----------*/

/*----------
10.プライバシーポリシー
----------*/
#privacy #cnt_area01{
margin: 60px auto 120px;
}

#privacy #cnt_area01 .h2_title{
font-weight: 700;
font-size: 20px;
line-height: 1.6;
border-left: 1px solid #1E2022;
padding: 4px 0 4px 20px;
margin-bottom: 20px;
}

#privacy #cnt_area01 p{
font-weight: 500;
font-size: 16px;
line-height: 2;
}

#privacy #cnt_area01 p + h2.h2_title{
margin-top: 40px;
}

/*----------
11.Not found
----------*/
#not_found #cnt_area01{
padding: 80px 0 120px;
}

#not_found #cnt_area01 .h1_ptn{
letter-spacing: 0.04em;
margin-bottom: 40px;
text-align: center;
}

#not_found #cnt_area01 .h1_title{
font-weight: 700;
font-size: 60px;
margin-bottom: 20px;
}

#not_found #cnt_area01 .h1_subtitle{
font-weight: 500;
font-size: 20px;
}

#not_found #cnt_area01 p{
font-weight: 500;
font-size: 18px;
line-height: 1.6;
margin-bottom: 40px;
text-align: center;
}

/*----------
12.タクソノミー関係ページ
----------*/
#category_taxonomy .c_title_box{
align-items: center;
justify-content: space-between;
margin-bottom: 40px;
}

#category_taxonomy #cnt_area01 .cnt_g{
margin-bottom: 80px;
}

#category_taxonomy .everyonesaction_g .article_list_ptn01 .cnt_box{
max-width: 250px;
width: 22.73%;
margin-right: 0;
}

#category_taxonomy .everyonesaction_g .article_list_ptn01 .cnt_box:not(:nth-child(3n)){
margin-right: 0;
}

#category_taxonomy .everyonesaction_g .article_list_ptn01 .cnt_box:not(:nth-child(4n)){
margin-right: 3.02%;
}

#category_taxonomy .everyonesaction_g .article_list_ptn01 .cnt_box .cnt_img a::after{
padding-top: 100%;
}

#category_taxonomy .everyonesaction_g .article_list_ptn01 .info_box_ptn01{
margin-bottom: 0;
}