html { overflow-y: scroll;}

body{font-size:16px; letter-spacing:1px;font-family: 'Noto Sans JP'; line-height:1.8;font-feature-settings: "palt"; -webkit-font-feature-settings: "palt";position:relative;background:#f9fafb;}
section{padding:80px 20px;}
section > h2{margin-top:0; position:relative;}
section > h2.line{margin-top:0; position:relative;}
main{padding-top:80px;}
.global_inner{ margin:0 auto;    width: 1280px;    max-width: 90%; position:relative; z-index:1;  }
.inner_white{background:#FFF; padding:40px;}
img{width:100%; height:auto;vertical-align: middle;}
a img{transition:0.2s all;}
a img:hover{transform: scale(1.1);transition:0.2s all; letter-spacing:2px;}
a:hover img{transform: scale(1.1);transition:0.2s all; letter-spacing:2px;}
a:hover{transition:0.2s all; text-decoration:underline;}
a{transition:0.6s all; }
a.underline{text-decoration: underline; text-decoration-color: #007061;text-underline-offset: 3px; }
a.inline{display:inline;}
a.block{display:block;}
table{width:100%; background:#FFF;}
h1,h2,h3,h4{font-weight:bold; line-height:1;}
h2{text-align:center; font-size:30px; margin:80px 0; line-height:1.5;}
h2.line{
    padding-bottom: 10px;
    position: relative;
    border-bottom: 3px solid #000;
    
    margin-top: 60px;    width: fit-content; margin-left:auto; margin-right:auto;}
h2.line:before {
    content: '';
    position: absolute;
    bottom: -3px;
    width: 60px;
    height: 3px;
    background: #20ae97;
}

h3{font-size: 24px;font-family: 'Noto Serif JP', serif; }
h3.line{
    padding-bottom: 10px;
    position: relative;
    border-bottom: 3px solid #000;
    margin-bottom: 20px;
    margin-top: 60px;    width: fit-content; line-height:1.6;}

h3.line:before {
    content: '';
    position: absolute;
    bottom: -3px;
    width: 60px;
    height: 3px;
    background: #20ae97;
}
h3.line.mt0{margin-top:0;}

.top h3.line{margin-top:20px;margin-left:auto; margin-right:auto;}
h3.line.center{margin-left:auto; margin-right:auto;}
h3.line span{display:block; margin-bottom:10px; font-size:16px;}



i{margin-right:10px;}
ul.circle{ margin-top:10px; margin-bottom:20px;}
ul.circle li{text-indent: -20px;padding: 0 0 0 20px;}
ul.circle li:before{content:"●"; margin-right:5px;}

ol.number{ margin-top:10px; margin-bottom:20px;counter-reset: number;}
ol.number li{padding: 0 0 0 20px;position: relative;}
ol.number li::before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: 5px;
  left: 0;
  width: 19px;
  height: 19px;
  border: 1px solid #000;
  border-radius: 50%;
  font-size: 15px;
  text-align: center;
  line-height: 1.2;
}


.waku{border-radius: 10px;border: solid 1px #20ae97;padding: 40px;background: #FFF;}

header{	position: fixed;width: 100%;z-index: 3;box-shadow: 4px 4px 6px 0px rgba(0, 0, 0, 0.2); height:80px; background:#FFF; }
header .box{display:flex;align-items: center;justify-content: space-between; padding:0px 20px 0px 20px;height: 80px;}
header .logo{width:250px; margin-right:40px;}
header .logo img:hover{transform:none;}



@media screen and (max-width: 768px) {
main{padding-top:60px;}
.global-inner{ padding:0 0px; width:90%; }
.inner_white{padding:20px;}
section{padding:0px 0;}
h2{ font-size:24px; margin:20px 0;}
section > h2{ margin-left:5%; margin-right:5%;}
h1,h2,h3,h4{line-height:1.6;}
}



/* ナビゲーションメニュー */
header .global-menu {width: fit-content;font-size:16px; font-weight:bold;}
header .global-menu > ul{display: flex;justify-content: flex-start;flex-wrap: wrap;}
header .global-menu > ul > li{position: relative; color:#000;}
header .global-menu > ul > li a {display: flex; align-items: center;justify-content: flex-start;padding:0 20px;}
header .global-menu > ul > li a::after {    content: "";    width: 8px;    aspect-ratio: 1;border-right: 2px solid #202a2e;border-bottom: 2px solid #202a2e;transform: rotate(45deg);margin-left: 10px;transition: border-color .5s}
header .global-menu > ul > li a:hover::after{    border-right: 2px solid #0090FF;
    border-bottom: 2px solid #0090FF;
}
header .global-menu > ul > li a:hover{text-decoration:none; color:#0090FF;}

header .global-menu > ul > li:hover{cursor:pointer;}
header .global-menu > ul > li:last-of-type{border-bottom:none;}



header .global-menu > ul > li > ul {background-color: #FFF;  padding:20px;left: 0px;  opacity: 0;position: absolute;top: 100%;transition: opacity .3s, visibility .3s;visibility: hidden;width: max-content;z-index: 1;}
header .global-menu > ul > li:hover > ul {opacity: 1;   transition: opacity .3s, visibility .3s;  visibility: visible;}
header .global-menu > ul > li > ul > li{ border-bottom:solid 1px #FFF; text-align:left; left:0; min-width:200px;}
header .global-menu > ul > li > ul > li a{color:#000; display:block; padding:10px;}
header .global-menu > ul > li > ul > li:hover{background:#dddfef;}
header .global-menu > ul > li > ul > li a:after{content:none;}


header #navArea{  width:100%;}

@media screen and (max-width: 1000px) {
header .global-menu{font-size:15px;}
header .global-menu > ul > li a {padding:0 10px;}
header .logo{width:160px; margin-right:20px;}
}


/*====================
ハンバーガーメニュー
=====================*/
@media screen and (max-width: 768px) {
header{background: #FFF;height:60px; position:fixed;left: unset;right: 0;width: 100%;top: 0px; z-index:3;display:flex;align-items: center;justify-content: space-between; padding:0px 10px; border-radius:0px;}
header .logo{width:auto; height:60px; z-index: 1;display:flex;justify-content: center;align-items: center;}
header .logo img{width:auto; height:30px;}
header .box{height:auto; padding-top:40px;}
nav {display: block;position: fixed;top: 0;right: -300px;bottom: 0;width: 300px;-webkit-overflow-scrolling: touch;transition: all 0.5s;z-index: 102;opacity: 0;margin-left:0px; margin-right:0px;}
.open nav {display: block;right: 0;opacity: 1;top:0px;box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.08);width:100%; padding-top:0px;color:#FFF; background:#FFF;overflow-y: scroll;display:flex;flex-direction: column; }
.open nav .logo{ display:none; }
nav {right: -220px;width: 220px;}

header .global-menu > ul{flex-direction: column;}
header .global-menu > ul > li a { font-size:17px;}
header .global-menu > ul > li a::after{content:none;}

header .global-menu > ul > li > ul {opacity: 1;position: relative;visibility: visible;width: 100%; display:flex; flex-wrap: wrap; margin-bottom:0px; padding-top:0;}
header .global-menu > ul > li > ul > li a { font-size:14px; padding:2px;}

header .global-menu > ul > li > ul > li a:before{content:"● ";}
header .global-menu > ul > li{order:1;}


header .global-menu .menu-head{}
header .global-menu .menu-head ul{display:flex;}
header .global-menu .menu-head li a{padding:3px; font-size:14px; display:block; text-align:center;}




/*============
ハンバーガーメニューのトグル
=============*/
.toggle_btn {display: block;position: fixed;top:0px; right:0px;width: 60px;height: 60px;transition: all .5s;cursor: pointer;z-index: 103; background:#191D40;}
.toggle_btn p{font-size:12px;}
.toggle_btn span {display: block;position: absolute;left: 15px;width: 30px;height: 3px;background-color: #FFF;border-radius: 4px;transition: all .5s;}
.toggle_btn span:nth-child(1) {top: 18px;}
.toggle_btn span:nth-child(2) {top: 28px; width:30px;left: unset;right: 15px;}
.toggle_btn span:nth-child(3) {top: 38px;}
.open .toggle_btn span {background-color: #FFF;}
.open .toggle_btn span:nth-child(1) {transform: translateY(10px) rotate(-315deg);}
.open .toggle_btn span:nth-child(2) {opacity: 0;}
.open .toggle_btn span:nth-child(3) {transform: translateY(-10px) rotate(315deg);}

/*========================
ハンバーガーメニューのマスク
=========================*/
#mask {display: none;transition: all .5s;}
.open #mask {display: block;position: fixed;top: 0;right: 0;width: 100%;height: 100%;opacity: .8;z-index: 101; }
}


/*====================
スワイパー
=====================*/
.kv{position:relative;}
.kv .btn{position:absolute; top:40px; right:40px;    z-index: 2;}
.kv .swiper{ position:relative;}
.kv .swiper .swiper-slide{position:relative;}
.kv .swiper .swiper-slide img{ height:100vh;object-fit: cover;}
.kv .swiper .swiper-slide .text{position: absolute;    top: 40%;    left: 50%;    transform: translate(-50%, -50%); z-index:2;font-family: 'Noto Serif JP', serif;font-size:max(2.5vw,24px); color:#FFF; width:80%; text-align:center; text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.7);
}
.kv .swiper .swiper-slide .text span{display:block; font-weight:bold;}

@media screen and (max-width: 768px) {
.kv .swiper .text{font-size:max(1vw,16px);width:90%;}
.kv .swiper .swiper-slide img{aspect-ratio: 16 / 12;}
.kv .btn{top:unset; bottom:20px;left: 50%; transform: translateX(-50%); right:unset; width:80%;}
}
/*========================
トップ：カテゴリ
=========================*/
.top_category{ padding-bottom:100px; background:#FFF;}
.top_category .box{display:flex;justify-content: space-between;}
.top_category .box .item{width:30%; position:relative;}
.top_category .box .item a{text-decoration:none;}
.top_category .box .item .photo{ overflow:hidden;border-radius:15px; position:relative;}
.top_category .box .item div:hover .photo img{transform: scale(1.1);transition:0.2s all;}
.top_category .box .item .photo img{height:100%; object-fit:cover;aspect-ratio: 16 / 9;transition:0.2s all; }
<!--.top_category .box .item .photo img.play{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 70px;z-index: 1; height:auto;object-fit: unset;}-->
.top_category .box .item h2{text-align:center; font-size:30px; display:flex;align-items: center;justify-content: center; margin-bottom:20px;
 }
.top_category .box .item h2 i{margin-right:22px;}
.top_category .box .item .text{text-align:center; margin-bottom:20px;}

@media screen and (max-width: 768px) {
.top_category .box{flex-wrap: wrap;}
.top_category .box .item{width:100%; }
.top_category .box .item .photo img{aspect-ratio: 16 / 9; }
.top_category .box .item h2{margin-top:60px;}
.top_category .box .item .photo img.play{width: 100px;}

}

/*========================
ニュースリスト
=========================*/
.news_list{background:#FFF; padding-bottom:60px;}
.news_list h2{ margin-top:0;}
.news_list dl{text-align:left;  background:#FFF; padding:0 80px;}
.news_list dt{color:#666666; font-size:14px; font-weight:normal;}
.news_list dd{margin-bottom:30px; border-bottom:solid 1px #CCC; padding-bottom:30px;}
.news_list dd a{ text-decoration:none;}
.news_list dd a:hover{text-decoration:underline;}

.news_list dl.member{margin-top:0px;padding:0px;}



@media screen and (max-width: 768px) {
.top_news dl{margin-top:20px; background:#FFF; padding:20px;}
.news_list dl{margin-top:20px;  padding:20px;}
}

/*========================
トップ：オンラインセミナースライダー
=========================*/
.slider{display:flex;flex-wrap: wrap; margin-bottom:100px; }
.seminor_list .slider .item{width:32%;    margin-left: 15px;
    margin-right: 15px;}
.seminor_list .slider .item:nth-child(3n){    margin-left: 15px;
    margin-right: 15px;}

@media screen and (max-width: 767px) {

}
/*========================
コンテンツヘッダー
=========================*/
.head{ position:relative;}
.head img{height:400px;object-fit:cover;}
.head h1{position: absolute; top: 50%; left: 10%; transform: translateY(-50%); color:#FFF; font-size:40px; }
.head h1 span{display:block; font-size:15px; margin-bottom:10px;}

@media screen and (max-width: 768px) {
.head{margin-bottom:40px;}
.head img{height:200px;}
.head h1{font-size:30px;left: 5%;line-height: 1; }
.head h1 span{font-size:13px; }
}

/*========================
サブメニュー
=========================*/
ul.sub_nav{display:flex; margin-top:20px; margin-bottom:100px;}
ul.sub_nav li{width:100%;border-radius:3px 0 0 3px;background:#e7eaeb; color:#000; text-align:center; font-weight:bold; position:relative; border-right:solid 1px #FFF; }
ul.sub_nav li a{ padding:15px; display:block; font-size:17px; text-decoration:none;}
ul.sub_nav li:last-child{border-radius:0 3px 3px 0;}
ul.sub_nav li.active {background:#0caf97; color:#FFF;}
ul.sub_nav li.active:after{content: "";clip-path: polygon(0 0, 100% 0, 50% 100%);width: 40px;height: 20px;background: #0caf97;position: absolute;top: calc(100% - 1px);left: 50%;transform: translateX(-50%);}

@media screen and (max-width: 768px) {
ul.sub_nav{justify-content: space-between;flex-wrap: wrap; margin-bottom:60px;}
ul.sub_nav li{width:49%; margin-bottom:10px;}
ul.sub_nav li a{font-size:15px;display: flex;align-items: center;justify-content: center;height: 100%;}
ul.sub_nav li.active:after{content: none;}
}
/*========================
法人情報：プロフィール
=========================*/
.outline .copy{font-family: 'Noto Serif JP', serif; font-weight:700; text-align:center; font-size:26px; margin-bottom:40px;}
.outline .copy span{ display:block; font-weight:500;font-size:20px;}
.activity {background:#FFF;}
.activity .item{border:solid 1px #000; padding:40px; margin-top:120px; position:relative;}
.activity .item:first-child{margin-top:60px;}
.activity .item h3{font-family: 'Noto Serif JP', serif;position: absolute; top: -37px; left: 50%; transform: translateX(-50%); background:#FFF; padding:20px 60px; font-size:30px;}
.activity .item h4{font-weight:bold; margin-bottom:10px; margin-top:40px;}
.activity .item .copy{font-size:20px;font-family: 'Noto Serif JP', serif; font-weight:bold; margin-bottom:10px;}
.activity .youtube_link{border:solid 2px #0caf97; border-radius:10px; padding:10px 20px; margin:60px auto 20px auto; width:fit-content; color:#0caf97; font-size:18px; font-weight:bold;}
.activity .youtube_link:hover{cursor:pointer;}

.profile .box{display:flex;justify-content: space-between;}
.profile .box .photo{ width:20%;}
.profile .box .text_area{ width:75%; background:#FFF; padding:60px;}
.profile .box .text_area h3{font-size:24px; margin-bottom:20px;}
.profile .box .text_area h4{margin-top:60px; margin-bottom:20px;}
.profile .box .text_area dl{display:flex;flex-wrap: wrap;}
.profile .box .text_area dt{width:15%;}
.profile .box .text_area dd{width:80%;}
.profile .box .text_area ul{margin-left:40px;}
.profile .box .text_area li{position:relative;}
.profile .box .text_area li:before{content:""; position:absolute; left:-40px; top:12px; width:20px; height:2px; background:#000;}
.profile .box .text_area li span{display:block; font-size:80%; font-style:italic; margin-left:20px;}
.greeting{background:#FFF; padding:60px; margin-bottom:100px;}
.greeting h3{text-align:center; margin-bottom:40px;}
.greeting .text{width:fit-content; margin-left:auto; margin-right:auto;}
.greeting .text span{font-size:20px; font-weight:bold;font-family: 'Noto Serif JP', serif; }

.philosophy h3{text-align:center; margin-bottom:40px;}
.philosophy .box{background:#FFF; padding:60px; margin-bottom:100px;}

.philosophy .text{width:fit-content; margin-left:auto; margin-right:auto;}
.philosophy .text span{font-size:20px; font-weight:bold;font-family: 'Noto Serif JP', serif; }



@media screen and (max-width: 768px) {
.outline .copy{font-size:20px;}
.profile .box{flex-direction: column;}
.profile .box .photo{ width:100%;}
.profile .box .text_area{ width:100%;padding:20px;}
.profile .box .text_area h3{font-size:28px; }
.profile .box .text_area dt{width:100%;}
.profile .box .text_area dd{margin-bottom:20px; width:100%;}
.activity .item{padding:40px 20px; margin-top:80px;}
.activity .item h3{top: -42px; padding:20px; font-size:26px;}
.philosophy .box{padding:20px; margin-bottom:40px;}
.greeting{padding:40px 20px;}
}


/*========================
法人情報：役員・協力者・協力会社紹介
=========================*/
.staffs .box{display:flex;background:#FFF;flex-wrap: wrap; padding:40px;}
.staffs .box .item{width:50%; display:flex;justify-content: space-between; margin-bottom:40px;}
.staffs .box .item .photo{width:30%;}
.staffs .box .item .text_area{ width:65%; font-size:14px; padding-right:40px; }
.staffs .box .item .text_area h3{font-size:20px; margin-bottom:10px;}
.staffs .box .item .text_area .title{font-weight:bold;margin-bottom:20px;}

@media screen and (max-width: 768px) {
.staffs .box{flex-direction: column; padding:20px;}
.staffs .box .item{width:100%;}
.staffs .box .item .text_area{padding:0px;padding-right:0px;}
}



/*========================
セミナー
=========================*/
.seminar .dicm{}
.seminar .dicm .text{border-radius:10px; border:solid 1px #20ae97; padding:40px;    background: #FFF;} 
.seminar .dicm .text h4{margin-top:40px; margin-bottom:20px;}
.seminar .dicm .text h4 span{font-weight:normal;}
.seminar .dicm .text .flow{width:fit-content; margin-left:auto; margin-right:auto; margin-bottom:20px; text-align:center;}
.seminar .dicm .text .flow .unit{ background:#20ae97; color:#FFF; text-align:center; padding:10px 20px; border-radius:10px;}
.seminar .dicm .text .photo_box{display:flex;justify-content: center; margin-top:20px; margin-bottom:20px;}
.seminar .dicm .text .photo{width:47%;}
.seminar .dicm .text .faq{ margin-bottom:40px;}
.seminar .dicm .text .faq .question{font-weight:bold;}
.seminar .dicm .text .faq .answer{margin-bottom:20px; border-bottom:solid 1px #CCC; padding-bottom:20px;}
.seminar .dicm .text dl{}
.seminar .dicm .text dt{ font-weight:500;}
.seminar .dicm .text dd{padding-left:40px;}
.seminar .copy{text-align:center; font-family: 'Noto Serif JP', serif; font-size:30px; margin-bottom:40px;}
.seminar .text > ul{margin-top:0;}
.seminar .dicm .text > h4:first-child{margin-top:0;}

.seminar a:hover{text-decoration:none !important;}
.seminar .btn{font-size:16px;}
.seminor_list{}
.seminor_list .box{display:flex;flex-wrap: wrap; margin-bottom:100px;}
.seminor_list .item{border: solid 2px #0caf97;
    position: relative;
    width: 32%;
    margin-right: 2%;
    margin-bottom: 20px;
    transition: 0.2s all; background:#FFF; border-radius:5px; text-align:center; padding:20px; }

.seminor_list.top .box{margin-bottom:40px;}
.seminor_list.top .item{display:flex;flex-direction: column;justify-content: space-between;
}
.seminor_list.top .item a{margin-top:auto;}


.seminor_list .item:nth-child(3n){margin-right:0;}
.seminor_list .item:hover {background: #f2fdf9;    transition: 0.2s all;}
.seminor_list h4{color:#FFF; background:#20ae97; border-radius:5px; padding:10px 15px; margin-bottom:20px; width:fit-content; font-weight:normal;}
.seminor_list h4.center{margin-left:auto; margin-right:auto;}
.seminor_list .item a{display:block; }
.seminor_list .item a .inner{padding:20px;}
.seminor_list .item a:hover{text-decoration:none;}
.seminor_list .item h5{font-size:20px; font-weight:bold;border-bottom:solid 1px #000; padding-bottom:5px; margin-bottom:5px;}
.seminor_list .item .date{font-size:28px; margin-bottom:5px; }
.seminor_list .item .date span{font-size:18px;}


@media screen and (max-width: 768px) {
.seminar .dicm .text{padding:20px;}
.seminar .copy{font-size:20px;}
.seminor_list .item{width:100%;}
}


/*========================
現場レポート
=========================*/
.report .theme{ border:solid 1px #20ae97; padding:20px; font-weight:bold; margin-bottom:20px; margin-top:10px; width:fit-content; font-size:18px;}
.report .lead{padding:20px; border-top:solid 5px  #20ae97;border-bottom:solid 5px  #20ae97; width:fit-content; margin-left:auto; margin-right:auto; margin-bottom:40px; font-weight:bold; font-size:18px;}

/*========================
資格取得者の紹介
=========================*/
.qualified h2{margin-bottom:20px;}
.qualified h3 {
  display: block;
  position: relative;
  margin: 0;
  padding: 15px;
  font-weight: normal;
  color: #fff;
  background: #98a6b5;
  cursor: pointer;
  font-size:20px;
}
.qualified .item{margin-bottom:20px;}

.accordion-container{margin-top:40px;}
.accordion-container table{margin-bottom:20px;}
.accordion-container th{background:#e7eaeb; font-weight:bold;}
.accordion-container th:nth-child(1){width:20%;}
.accordion-container th:nth-child(2){width:30%;}
.accordion-title{
  position: relative;
}

.accordion-title:after {
  content: "";
  position: absolute;
  right: 25px;
  top: 47%;
  transition: all 0.2s ease-in-out;
  display: block;
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(-45deg);

}
@media screen and (max-width: 767px) {
.accordion-title:after{right:20px;}
.accordion-container tr{display:flex;flex-wrap: wrap;}
.accordion-container tr:nth-child(odd) td{background:#f6f6f6;}
.accordion-container tr td:nth-child(1){font-weight:bold;}
.accordion-container tr td:nth-child(2){font-weight:bold;}

.accordion-container th:nth-child(1){width:50%;}
.accordion-container th:nth-child(2){width:50%;}
.accordion-container th:nth-child(3){width:100%;}
.accordion-container td:nth-child(1){width:50%;}
.accordion-container td:nth-child(2){width:50%;}
.accordion-container td:nth-child(3){width:100%;margin-bottom: 10px;}
.accordion-container th:nth-child(3){margin-bottom: 10px;}
}
.accordion-title.open:after {
  transform: rotate(135deg);
  top: 40%;
}

.accordion-content {
  display: none;
  padding-left: 2.3125em;
}

/*========================
ニュース
=========================*/
.news .btn{margin-top:40px;}
.news a{text-decoration:underline;}
/*========================
DICM学習
=========================*/
.community .list{margin-bottom:60px;}
.community .item{ border-left:solid 5px #20ae97; padding-left:20px; font-weight:bold; font-size:20px; display:flex;align-items: center;
}
.community .item span{font-size:15px; display:block;}
.community .item i{margin-left:60px; font-size:25px; color:#20ae97;}
/*========================
テーブル
=========================*/
table th, table td {border: solid 1px #ccc;	font-weight: normal;vertical-align: middle;	line-height: 160%;padding:20px;}

table th{background:#F2F2EF; }
table th:first-child{width:20%;}
table td .btn{margin-top:0;}



@media screen and (max-width: 768px) {
table th, table td{display:block; width:100%;} 
table th{padding:10px;}
table td{padding:10px;}
table th:first-child{width:100%;}
table.col3 th,table.col3 td{display:table-cell; width:auto;padding:10px 5px;}
}

/*========================
お問い合わせ
=========================*/
.contact{padding-bottom:100px;}
.contact label{display:block;}
.contact label:hover{cursor:pointer;}
.contact table .must{color:#c81616; margin-right:10px; border:solid 1px #c81616; border-radius:3px; padding:1px 10px; font-size:70%; display:inline-block;margin-left: 10px;line-height: 1.5;}



.contact .radio-group label{margin-right:20px; position:relative; margin-bottom:5px;}
.radio {
  margin: 0.5rem;
}
.radio input[type=radio] {
  position: absolute;
  opacity: 0;
}
.radio input[type=radio] + .radio-label:before {
  content: "";
  background: #FFF;
  border-radius: 100%;
  display: inline-block;
  width: 20px;
  height: 20px;
  position: relative;
  top: 4px;
  margin-right:10px;
  cursor: pointer;
  text-align: center;
  transition: all 250ms ease;
  box-shadow: 0 0 5px rgba(0,0,0,0.4);
}
.radio input[type=radio]:checked + .radio-label:before {
 background: rgba(27,175,151,0.5);
  box-shadow: inset 0 0 0 4px #f4f4f4;
}
.radio input[type=radio]:checked + .radio-label:after {
	
content: "";
  border-radius: 100%;
  display: inline-block;
  position:absolute;
  width: 20px;
  height: 20px;
  top: 4px;
  left:0;
box-shadow: 0 0 7px rgba(0,0,0,0.3);




}

.radio input[type=radio]:focus + .radio-label:before {
  outline: none;
  border-color: #3197EE;
}
.radio input[type=radio]:disabled + .radio-label:before {
  box-shadow: inset 0 0 0 4px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4;
}
.radio input[type=radio] + .radio-label:empty:before {
  margin-right: 0;
}

.contact table input[type=text],
.contact table input[type=email],
.contact table input[type=tel]{margin-right:20px;box-shadow: 0 0 7px rgba(0,0,0,0.2); border-radius:5px; padding:5px 10px; width:30%; min-width:300px;}
.contact table textarea{margin-right:20px;box-shadow: 0 0 7px rgba(0,0,0,0.2); border-radius:5px; padding:5px 10px; width:100%; min-height:200px;}
.contact table input::placeholder {
  opacity: 0.5;
  color: #000;
}

.contact .privacy_check{display:flex; margin-left:auto; margin-right:auto; width:fit-content; margin-top:40px;margin-bottom:20px;}
.contact .privacy_check input{margin-right:30px;}

.contact table .select_wrapper {
    position: relative;
	    width: fit-content;    display: inline-block;margin-right:20px;
		
}
.contact table .select_wrapper::after {
    content: "";
    position: absolute;
    top: 9px;
    right: 16px;
    width: 12px;
    height: 12px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);pointer-events: none;
}

.contact table select{box-shadow: 0 0 7px rgba(0,0,0,0.2); border-radius:5px; padding:10px 10px;outline: none;    -webkit-appearance: none;
    appearance: none;padding-right:40px;    font-size: 15px;
}
.contact table .select:hover{cursor:pointer;}


@media screen and (max-width: 768px) {
.contact table input[type=text]{margin-right:0%; margin-bottom:5px; width:100%;}
.contact.form td{padding:5px;}
.contact.form td:first-child{  width:40%;padding:10px 5px;}

}



/*========================
フッター
=========================*/
footer{background:#191D40; padding:60px;color:#FFF; font-size:13px;}
footer a{color:#FFF;}
footer .box{display:flex;align-items: flex-start;flex-wrap: wrap; margin-bottom:40px;width: fit-content;margin-left: auto;margin-right: auto; }
footer .box .item{display:flex;    flex-wrap: wrap; width: 20%; }
footer .box .item h3{width:100%; margin-bottom:10px;margin-left:20px; line-height:2; background:none; font-size:inherit;}
footer .box .item ul{margin-left:20px;}
footer .box .item ul li{margin-bottom:5px;}
footer .box .item ul li a:hover{text-decoration:underline;}
footer .box .item:last-child h3{ margin-bottom:40px;}
footer .box .item:last-child ul li{border:solid 1px #FFF; padding:3px 20px; text-align:center;}
footer .box .item:last-child ul li:nth-child(3){background:#FFF; }
footer .box .item:last-child ul li:nth-child(3) a{color:#007061;}
footer .logo{width:100px; margin-left:auto; margin-right:auto; margin-bottom:10px;}
footer .copyright{text-align:center; font-size:12px;}
footer .copyright a{display:inline-block;}

@media screen and (max-width: 768px) {
footer{padding:20px 20px; margin-top:40px;}
footer .box{flex-direction: column;}
footer .box .item{ width:100%;}
footer .box .item h3{margin-bottom:5px;margin-left: 0px;}
footer .box .item ul{display:flex;flex-wrap: wrap; margin-bottom:20px;    margin-left: 0px;}
footer .box .item ul li{min-width: 150px;}
footer .box .item ul li a:before{content:"● ";}
footer .box .item:last-child{width:100%;}
footer .box .item:last-child ul{flex-direction: column;width:100%;}
footer .box .item:last-child ul li{width:100%;}
}


/*========================
詳しく見る
=========================*/
.btn {transition:0.2s all; background:#474a66;   letter-spacing: 0;    font-size: 15px;     width:fit-content; margin:0 auto 0 auto;border-radius:5px;    text-align: center; margin-top:20px; position:relative;    padding: 10px 50px; color:#FFF;}
.btn:hover{cursor:pointer;}
.btn.left{margin-left:0}
.btn.right{margin-right:0}
.btn i{ font-size:10px;position: absolute; top: 50%; right: 5px; transform: translateY(-50%);  }
.btn a{display:block; padding:10px 20px; color:#007061;border-radius:5px;  }
.btn.bg_dark_green a{color:#FFF;}
.btn.bg_dark_green a:hover{background:#0CAF97;}
.btn button{display:block; padding:10px 20px; color:#007061; margin:0 auto 0 auto;width:100%; }
.btn input{display:block; padding:10px 20px; color:#007061; margin:0 auto 0 auto;width:100%; border:solid 2px #20AE97; background:#FFF;transition:0.4s all;}
.btn input:hover{color:#FFF; background:#109785;border:solid 2px #007061;transition:0.4s all;}
.btn button{display:block; padding:10px 50px; color:#FFF;border-radius:5px; margin-bottom:40px; }
.btn button:hover{color:#FFF;}
.btn > div{display:block; padding:10px 20px; color:#007061;transition:0.4s all; }
.btn > div:hover{cursor:pointer; color:#FFF;transition:0.4s all;}
.btn:hover{background:#191D40; color:#FFF; text-decoration:none; transition:0.4s all; }
a:hover .btn{background:#191D40; color:#FFF; text-decoration:none !important; transition:0.4s all; }
a:hover .btn.bg_dark_green{background:#0CAF97; color:#FFF; text-decoration:none; transition:0.4s all; }
.btn.full{background:#dc3545; color:#FFF;padding:10px 20px;}
.btn.bg_gray{background:#b7b7b7; color:#FFF;padding:10px 20px;}
.btn.bg_gray:hover{cursor:default;}

.btn a:hover{text-decoration:none;color:#FFF;transition:0.4s all !important; }
.btn a{text-decoration:none;transition:0.4s all !important; }
a .btn{display:block; padding:10px 50px; color:#FFF; border-radius:5px;}
.btn.waku{border:solid 2px #007061; border-radius:3px; width:48%;}
.btn_group{display:flex;justify-content: space-between;margin-top: 20px; }
.btn_group .btn{width:48%; margin:0;}
.btn_group.left{justify-content: flex-start;}
.btn_group.left .btn:first-child{margin-right:20px;}
.btn.w_auto{width:fit-content;}
.btn.w_max{width:100%;}
.btn.w_max:hover {transform: scale(1.0);}
.btn.w_25p{width:25%;}

@media screen and (max-width: 768px) {
.btn.left{margin-left:auto}
.btn.waku{width:100%;}
.btn_group{flex-direction: column;}
.btn_group .btn{width:100%; margin-top:10px;}
}
/*========================
モーダルウィンドウ
=========================*/

.modal {  position: fixed;  inset: 0;  background-color: rgba(0, 0, 0, 0.8);  z-index: 1500;  display: none;}
.modal-content {  background-color: #FFF;  border:solid 5px #20ae97;  width:50%;	min-width: 600px;  margin: auto;  padding:60px;  position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);  max-height:80vh;  overflow-y:auto;}
.modal-content h2{margin-top:0; margin-bottom:40px;}
.modal-content h3{text-align:center;    margin-left: auto;    margin-right: auto; margin-top:0;}
.modal-content h4{font-size:18px; font-weight:bold; margin-bottom:10px; margin-top:40px;}
.modal-content .box{}
.modal-content .box .text{width:fit-content; margin-left:auto; margin-right:auto;}
.modal-content .btn a{display:flex;align-items: center;justify-content: center; text-align:left;}
.modal-close {  display: inline-block;  width: 60px;  height: 60px;  background-color: #fff;  color: #000;  text-align: center;  position: absolute;  top: 0;  right: 0;  cursor: pointer;}
.modal-close span {  font-size: 11px;  letter-spacing: 0.025em;  display: block;  transition: all 0.3s ease;}
.modal-close span::before {  content: "×";  display: inline-block;  font-size: 3rem;      line-height: 1.2;	  color:#707070;	  font-weight:100;}
.modal-close:hover span {  transform: scale(0.9);}

@media screen and (max-width: 768px) {
.modal-content {  width:100%;	min-width: auto;  padding:20px; }
}


/*========================
ページトップ
=========================*/
#page_top a{width:60px; height:60px; transition:0.4s all; position: fixed; right:20px; bottom:20px;z-index: 1; background:#191D40;display:flex;justify-content: center;align-items: center; }
#page_top a i{color:#FFF; font-size:30px; margin-right:0;}
#page_top a:hover{text-decoration:none;}
@media screen and (max-width: 768px) {
#page_top a{right:10px; bottom:65px;width:50px; }
}


/*=======  下からフェードアップ  =======*/
.fadeup {opacity: 0;}
.fadeup.isShow {  opacity: 1;animation: fadeUp 0.3s ease 0.3s 1 normal backwards;}

@keyframes fadeUp {
from {
    opacity: 0;
    transform: translateY(100px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}

.modal-video{background-color: rgba(0, 0, 0, 0.8) !important;}






.p20{padding:20px;}
.p40{padding:40px;}
.mb5{ margin-bottom:5px;}
.mb10{ margin-bottom:10px;}
.mb20{ margin-bottom:20px;}
.mb40{ margin-bottom:40px;}
.mb80{ margin-bottom:80px;}
.mt20{ margin-top:20px;}
.mt40{ margin-top:40px;}
.mt80{ margin-top:80px;}
.mt10{ margin-top:10px;}
.w50p{ width:50%;}
.w100p{ width:100%;}
.text_green{ color:#007061;}
.text_orange{color:#FD7500;}
.text_black{color:#000;}
.bg_gray{background:#E2EBEA; }
.bg_green{background:#20AE97; }
.bg_dark_green{background:#007061; color:#FFF;}
.bg_light_green{background:#D5F0E6;}
.bg_white{background:#FFF;}
.font18{font-size:18px;}
.text_center{text-align:center;}
.text_red{ color:red;}
.text_waku{font-size:16px; border:solid 1px #000; padding:3px; background:#FFF; margin-bottom:3px;display: inline-block;}
.fit_content{width:fit-content; margin-left:auto; margin-right:auto;}
img.w_auto{width:auto;}
@media screen and (max-width: 768px) {
.pc{display:none !important;}
.p40{padding:20px;}
.mt10_sp{ margin-top:10px !important;}
.mt20_sp{ margin-top:20px !important;}
.mb80{ margin-bottom:40px;}
.mb10_sp{ margin-bottom:10px !important;}
.mb20_sp{ margin-bottom:20px;}
.w44p_sp{width:44% !important;}
.w100p_sp{width:100% !important;}
.font-small_sp td,.font-small_sp th{font-size:80% !important; padding:5px !important;}
}

@media screen and (min-width: 769px) {
.sp{display:none !important;} 
}