@charset "utf-8";

*{box-sizing: border-box}

/* -------------------------------------------------- */
/* 全デバイス共通(PC向け) */
/* --------------------------------------------------- */
/* body */
/* -------------------------------------------------- */
body {
    margin: 0;
    padding: 0;
    font-family: "Zen Kaku Gothic New", sans-serif;
    background-color: #fff;
    font-size: 16px;
    }

a{
    text-decoration: none;
}

div{
    font-size: 16px;
}

button{
    font-family : inherit;
}

/* header */
/* -------------------------------------------------- */
header {
	margin: 0 auto;
}

.header_item {
padding: 10px 50px;
position: fixed;
background-color:rgba(255,255,255,0.5);
width:100%;
display: flex;
align-items: center;
justify-content: center;
z-index: 100;
}

.header_item img{
width:8rem;
}

.header_item div{
font-size: 16px;
font-weight: bold;
margin-left: 14.5px;
}

.hp-title{
    color: #007361;
}

header h1{
margin: 0;
padding: 0;
font-size: 50px;
}
header a{
text-decoration: none;
color: #2A2A2A;

}
header nav {
margin: 0 0 0 auto;
}
header ul {
list-style: none;
margin: 0;
display: flex;
justify-content: center;
align-items: center;
}
header li {
margin: 0 0 0 1rem;
font-size:clamp(12px,1vw);
font-weight: 600;
text-wrap: nowrap;
}

.pc-nav_line img{
	width: 50px;
	margin-left: 20px;
}

/* header エントリーボタン（右上）*/
/* -------------------------------------------------- */

.header_entry img{
    width: 20px;
    margin-left: 10px;
}

.dropbtn_entry{
    position: relative;
    display:;
}

.header_entry{
    background-color:#EF7F45;
    color: white;
    width: 200px;
    padding: 15px 30px;
    margin-left: 15px;
    font-size: 1.6rem;
    font-weight: bold;
    border: none;
    cursor: pointer;
    text-align: center;
}

.dropdown-content-entry{
    width: 200px;
    text-align: center;
    display: none;
    position: absolute;
    background-color:#EF7F45;
    z-index: 1;
}

.dropdown-content-entry a{
    color: #fff;
    padding: 16px 0;
    text-decoration: none;
    display: block;
}

.dropdown-content-entry img{
    width: 20px;
    margin-left: 10px;
}

  /* ホバー時にドロップダウンメニューを表示する */
  .dropdown_entry:hover .dropdown-content-entry {
    display: block;
    transition: 0.5s;
}

/* ドロップボタンのスタイルを指定する */
.dropbtn {
    color: white;
    background-color:#007361;
    width: 200px;
    padding: 15px 30px;
    margin-left: 15px;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    border: none;
    cursor: pointer;
}

.dropbtn img{
    width: 20px;
    margin-left: 15px;
}

  /* コンテナ <div> - ドロップダウン コンテンツを配置するために必要 */
.dropdown_saiyo {
    position: relative;
    display: inline-block;
}

  /* ドロップダウン コンテンツ (デフォルトでは非表示) */
.dropdown-content {
    width: 200px;
    text-align: center;
    display: none;
    position: absolute;
    background-color: #007361;
    color: white;
    z-index: 1;
}

  /* ドロップダウン内のリンク */
.dropdown-content a{
    color: #fff;
    padding: 16px 0;
    text-decoration: none;
    display: block;
}

  /* ホバー時のドロップダウンリンクの色を変更する */
.dropdown-content a:hover {
    background-color: #72aea5;
}
.dropdown-content-entry a:hover {
    background-color: #e0a98e;
}

  /* ホバー時にドロップダウンメニューを表示する */
.dropdown_saiyo:hover .dropdown-content {
    display: block;
}

  /* ドロップダウンのコンテンツが表示されているときのドロップダウンボタンの背景色を変更 */
.dropdown_saiyo:hover .dropbtn {
}

.navi_sns{
    margin-left: 15px;
}

.navi_sns img{
    width: 30px;
}

/*==================================================
　5-3-3 左から右に線が伸びる（下部）
===================================*/
.gnavi li a{
    /*線の基点とするためrelativeを指定*/
	position: relative;
}

.gnavi li.current a,
.gnavi li a:hover{
	color:#007361;
}

.gnavi li a::after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 0;
    left: 0%;
    /*線の形状*/
    width: 100%;
    height: 2px;
    background:#007361;
    /*アニメーションの指定*/
    transition: all .3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: left top;/*左上基点*/
}

/*現在地とhoverの設定*/
.gnavi li.current a::after,
.gnavi li a:hover::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}

.gnavi__list:hover .dropdown__lists {
    display: block;/*Gナビメニューにホバーしたら表示*/
}


/*ここからPC表示*/
@media screen and (min-width:960px) {
	.sp-header_item{
		display: none;}

        .br_sp_none{
            display:block;
        }
}


/* SP表示ここからスタート */
/* -------------------------------------------------- */

.sp-header_back{
    width: 100%;
    height: 65px;
    background-color: #fff;
    position: fixed;
    padding-left: 20px;
    z-index: 99999;
}

.sp-header_item_title{
	padding-top:10px;
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: bold;
    color: #007361;
}

.sp-header_item_title img{
	width: 80px;
    margin-right: 5px;
}

@media screen and (min-width: 960px) and (max-width: 1600px) {
/* 以下タブレット */
    header li{
        margin: 0 0 0 10px;
        /*font-size:12px;*/
        }
}

@media screen and (max-width: 960px) {
	.header_item{
		display: none;
	}
    .fixed_sns{
        display: none;
    }

    .br_sp_none{
        display: none;
    }

/*------------------- ナビゲーションのためのCSS -------------------*/


#g-nav{
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
	z-index: 1;
    pointer-events: none;
	opacity: 0;/*はじめは透過0*/
    /*ナビの位置と形状*/
    top: 65px;
    width: 100%;
    height: 100vh;/*ナビの高さ*/
	background:#ffffff;
    /*動き*/
	transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
	opacity: 1;
	z-index:999;
    pointer-events: auto;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    column-count: 2; /* 列数指定 */
}

#g-nav ul li{
margin: 0;
padding: 0;
}

#g-nav.panelactive ul {
    display: block;
}

/*リストのレイアウト設定*/

#g-nav li{
    list-style: none;
    text-align: left;
    width: 80%;
    margin: 0 auto;
}

#g-nav li a{
	color: #333;
	text-decoration: none;
	display: block;
	letter-spacing: 0.1em;
}

.g-nav_bold{
    font-size: 16px;
    display: inline-block;
    font-weight: bold;
    margin-top: 20px;
    text-wrap-mode: nowrap;
}

.g-nav_normal{
    font-size: 15px;
    font-weight: 400;
    text-wrap-mode: nowrap;
}

.g-nav_img{
    width: 90%;
    margin: 0 auto;
    padding-top:20px;
}

.g-nav_img img{
    width: 100%;
    border-radius: 10px;
}

.sp-sns{
    display: flex;
}

.sp-sns img{
    margin-right: 10px;
}


/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}

/*×に変化*/
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #666;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
}

/*---------------------ヘッダーここまで---------------------*/


/*---------------SNSアイコン---------------*/

.sns_icon{
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-bottom: 100px;
}

.sns_icon div:hover{
    opacity: 0.8;
}

/*---------------SNSアイコンここまで---------------*/


/*------------------フッター手前グリーンリンクここから--------------*/

.recruit_link_back{
	background-color: #007361;
	width: 100%;
	text-align: center;
}

.recruit_link_title{
    padding-top: 63px;
}

.recruit_link_title p{
	font-size: 28px;
	font-weight: 700;
	color: #fff;
    margin: 0;
    padding: 0;
}

.recruit_link_pack{
	display:-webkit-box;
    display:-ms-flexbox;
	display:flex;
    text-align: center;
    justify-content: center;
	align-items: flex-start;
    width: 50%;
	margin: 0 auto;
	font-size: 16px;
    font-weight: bold;
	color: #fff;
    padding-top: 25px;
	padding-bottom: 63px;
    gap: 5%;
    text-wrap-mode: nowrap;
}

.recruit_link_left{
    width: 50%;
}

.recruit_link_pack a{
    text-decoration: none;
}

.recruit_link_right{
    width: 50%;
}

.recruit_link_left div{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    padding:23px 1vw;
    border-radius: 20px;
    color:#007361 ;
    font-size: 15px;
    margin-top: 20px;
    gap: 5%;
}

.recruit_link_left div:hover{
    background-color: #c4e6d2; /* ホバーした時の記事リンクの背景色 */
	transition: 0.5s;
}

.recruit_link_right div{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    padding:23px 81px;
    border-radius: 20px;
    color:#007361 ;
    font-size: 15px;
    margin-top: 20px;
    gap: 5%;
}

.recruit_link_right div:hover{
    background-color: #c4e6d2; /* ホバーした時の記事リンクの背景色 */
	transition: 0.5s;
}

/*------------------フッター手前グリーンリンクここまで--------------*/

/*---------------------フッターここから---------------------*/
.footer-3 {
    padding: 5rem 2rem 5rem;
    background-color:rgba(255,255,255,0.50);
}
.footer-3 a{
    text-decoration: none;
    color: #333;
}

.footer-3__list a{
    position: relative;
    width: max-content;
}

.footer-3__list a::after{
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #007361;
    bottom: -2px;               /*アンダーラインがaタグの下端から現れる*/
    transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
    transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
    transition: transform 0.3s; /*変形の時間*/
}

.footer-3__list a:hover::after {
    transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
    }


.line_left{
    position: relative;
}

.line_left a::after{
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #007361;
    bottom: -2px;               /*アンダーラインがaタグの下端から現れる*/
    transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
    transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
    transition: transform 0.3s; /*変形の時間*/
}

.line_left a:hover::after {
    transform: scale(1, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
    }

.footer-3__container {
    display: grid;
    justify-items: center;
    grid-template-columns: repeat(6, 1fr);
    max-width: 1300px;
    margin: 0 auto;
}

.footer-3__logo {
    width: 200px;
    height: auto;
    margin-bottom: .2em;
	object-fit: fill;
}

.footer-3__logo img{
	width: 100%;
}

.footer-3__title,
.footer-3__link {
    margin: 0 0 .8em;
    color: #333;
}

.footer-3__title {
    font-weight: bold;
    font-size: 15px;
}

.footer-3__list {
    padding: 0;
    list-style-type: none;
    font-size: 11px;
}

.footer-3__link {
    display: block;
}

.footer-3__link:not(:hover) {
    text-decoration: none;
}

.footer_sns{
    display: flex;
}
.footer_sns img{
    margin-right: 6px;
}


/*--------------------------ここからPC表示--------------------------*/
@media screen and (max-width:960px) {
	.footer-3__sp{display: none;}

}

/*--------------------------ここまでPC表示--------------------------*/

/*---------------------スマホ表記ここから---------------------*/

@media only screen and (max-width: 960px) {

/*------------------フッター手前グリーンリンクここから--------------*/

.recruit_link_back{
	background-color: #007361;
	width: 100%;
	text-align: center;
}

.recruit_link_title{
    padding-top: 63px;
}

.recruit_link_title p{
	font-size: 22px;
	font-weight: bold;
	color: #fff;
    margin: 0;
    padding: 0;
}

.recruit_link_pack{
	display:block;
    text-align: center;
    justify-content: center;
    align-items: center;
    width: 90%;
	margin: 0 auto;
	font-size: 1.6rem;
    font-weight: bold;
	color: #fff;
    padding-top: 25px;
	padding-bottom: 63px;
    gap: 5%;
}

.recruit_link_left{
    width: 100%;
}

.recruit_link_right{
    width: 100%;
}

.recruit_link_left div{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    padding:8px 81px;
    border-radius: 20px;
    color:#007361 ;
    font-size: 16px;
    margin-top: 10px;
    gap: 5%;
}

.recruit_link_right div{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    padding:8px 81px;
    border-radius: 20px;
    color:#007361 ;
    font-size: 16px;
    margin-top: 10px;
    gap: 5%;
}

/*------------------フッター手前グリーンリンクここまで--------------*/


/*---------------------フッターここから---------------------*/
.footer-3 {
    padding: 5rem 2rem 5rem;
    background-color:rgba(255,255,255,0.50);

}

.footer-3__container {
    display: grid;
    justify-items: center;
    grid-template-columns: repeat(2, 1fr);
    max-width: 700px;
}

.footer-3__logo {
    display: none;
}

.footer-3__title,
.footer-3__link {
    margin: 0 0 .8em;
    color: #333;
    /*background-color: #2A2A2A;*/
}

.footer-3__title {
    font-weight: bold;
    font-size: 16px;
}

.footer-3__list {
    padding: 0;
    list-style-type: none;
    font-size: 13px;
}

.footer-3__link {
    display: block;
}

.footer-3__link:not(:hover) {
    text-decoration: none;
}

.footer_sns{
    display: flex;
}
.footer_sns img{
    margin-right: 6px;
}


	}

/*---------------------ここまでスマホ表記---------------------*/
