@charset "utf-8";
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanmp.min.css');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:200,300,400,500,600,700,800,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,100&display=swap');


/* リセットCSS */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	color: inherit;
	vertical-align: baseline;
}
h1, h2, h3, h4, h5, h6{
	height: auto;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* /リセットCSS */


/****************************************
		clearfix
*****************************************/
.cf::before,
.cf::after {
	content: " ";
	display: table;
}
.cf::after {
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
.cf {
	display: inline-block;
	*zoom: 1;
}

* html .cf {
	height: 1%;
}


/****************************************
		base
*****************************************/

*{
	box-sizing: border-box;
}
html{
  scroll-behavior: smooth;
}
body{
	width: 100%;
	max-width: 100%;
	position: relative;
	font-family: 'YakuHanJP','Noto Sans JP','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	font-size: 14px;
  font-weight: 500;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	color: #000;
  background-image: url(../img/top_bg_pc.png);
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.en,
.num,
.date,
.pagination{
	font-family: 'Poppins','Noto Sans JP','ヒラギノ角ゴ ProN','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
  font-weight: 500;
  font-style: normal;
}

p{
	font-weight: 500;
	line-height: 2em;
	letter-spacing: 0.05em;
	word-break: break-word;
	overflow-wrap : break-word;
}

h1,h2,h3,h4,h5,h6{
	line-height: 1.4em;
	letter-spacing: 0.05em;
	word-break: break-word;
	overflow-wrap : break-word;
}

img{
	margin: 0 auto;
	line-height: 0;
	padding: 0;
	vertical-align: bottom;
	max-width: 100%;
}
a{
	transition: 0.3s;
	display: inline-block;
	text-decoration: none;
	color: inherit;
}
a:hover{
	transition: 0.3s;
	color: inherit;
	opacity: 0.7;
}

button{
	font-size: 100%;
	border: 0;
	padding: 0;
	font-family: inherit;
	background: none;
	border: none;
	outline: none;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

body ::-webkit-scrollbar {
	height: 10px;
	width: 10px;
	display: inline-block;
}
body ::-webkit-scrollbar-track {
	background: #D1D1D1;
}

body ::-webkit-scrollbar-thumb {
	background: #4DA81C;
}


/****************************************
		共通
*****************************************/

.wrapper{
	position: relative;
}

.inner{
	margin: 0 auto;
	width: 90%;
	box-sizing: border-box;
	display: block;
	max-width: 1250px;
}
.top_soyokaze .inner{
	max-width: 1080px;
}

.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flex.col2 li{
	width: 48%;
	margin-bottom: 4%;
}
.flex.col3 li{
	width: 30%;
	margin-bottom: 4%;
}
.flex.col4 li{
	width: 24%;
	margin-bottom: 1.5%;
}


.indent{
	padding-left: 1em;
	text-indent: -1em;
}
.indent-half{
	text-indent: -0.5em;
	padding-left: 0.5em;
	display: inline-block;
}
.indent1em{
	text-indent: 1em;
	display: inline-block;
}
.indent-1em{
	text-indent: -1.2em;
	padding-left: 1.2em;
}
.indent-list{
	line-height: 1.4;
	margin: 2em 0 1em;
}
.indent-list li{
	text-indent: -1.5em;
	padding-left: 1.5em;
	margin-bottom: 1em;
}
.kerning{
	margin-left: -0.09em;
}

.txt_left{
	text-align: left;
}
.txt_center{
	text-align: center;
}
.txt_right{
	text-align: right;
}

.f_weight600{
	font-weight: 600;
}
.f_weight700{
	font-weight: 700;
}
.f_weight800{
	font-weight: 800;
}
.f_weight900{
	font-weight: 900;
}
.bold,
b{
	font-weight: bold;
}
sup{
	font-size: 0.8em;
	vertical-align: top;
}
.big{
	font-size: 1.2em;
}

.map iframe{
	width: 100%;
}
.movie_wrap iframe{
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.btn_more{
	position: relative;
	text-align: center;
	box-sizing: border-box;
	border-radius: 8px;
	padding: 0.5em 1em;
	height: 5.2em;
	max-width: 400px;
	font-size: 1em;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.05em;
	display: flex;
  align-items: center;
	justify-content: center;
	background: #fff;
	box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
	text-align: center;
}
.btn_more:after{
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 1em;
	transition: all 1s;
	background: url(../img/ico_arrow.png) center center/contain no-repeat;
}
.btn_more.pdf:after{
	display: none;
}
.btn_more.pdf:before{
	content: "";
	width: 1.9em;
	height: 2.1em;
	margin-left: -0.1em;
	margin-right: 1.5em;
	display: inline-block;
	transition: all 1s;
	background: url(../img/ico_pdf02.svg) center center/contain no-repeat;
}


/****************************************
		アニメーション
*****************************************/
/* 画像ズーム */
.ov_zoom{
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.ov_zoom .bg{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
	height: 100%;
	width: 100%;
}
.ov_zoom .bg img{
	transition:1s all;
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.ov_zoom:hover .bg img{
	transition:1s all;
	transform:scale(1.05,1.05);
}
.ov_zoom a:hover{
	opacity: 1;
}


/* fade */
.fadein {
  transition: all 2s;
  opacity: 0;
  visibility: hidden;
  transform: translate(0px, 20px);
}

.fadein.scrollin {
  opacity: 1;
  visibility: visible;
  transform: translate(0px, 0px);
}
.fadein + .fadein{
	transition-delay: 0.2s;
}
.fadein + .fadein + .fadein{
	transition-delay: 0.4s;
}
.fadein + .fadein + .fadein + .fadein{
	transition-delay: 0.6s;
}
.fadein + .fadein + .fadein + .fadein + .fadein{
	transition-delay: 0.8s;
}
.fadein + .fadein + .fadein + .fadein + .fadein + .fadein{
	transition-delay: 1s;
}


/****************************************
		header
*****************************************/
header{
	top: 0;
	z-index: 100;
	margin: 1% 1%;
	width: 98%;
	height: 7em;
	box-sizing: border-box;
	overflow: hidden;
	transition: .3s;
	display: flex;
	justify-content: space-between;
	position: fixed;
	align-items: stretch;
	background: #fff;
	color: #000;
	border-radius: 8px;
	box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
}
header .head_left{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 27%;
	margin-left: 1.2%;
}
header .head_logo{
	display: inline-block;
	position: static;
	left: 0;
	top: 0;
	z-index: 101;
	margin: 1em;
}
header .head_right{
	display: flex;
	align-items: center;
	align-items: stretch;
	width: 68%;
	max-width: 870px;
	margin-right: 3.8%;
}

header .ham_menu {
	transition: .3s;
	width: 100%;
}
header .ham_menu .nav_toggle{
	display: none;
}
header .ham_menu .menu{
	height: 100%;
}
header .ham_menu .menu_list {
	display: flex;
	justify-content: space-between;
	text-align: center;
	height: 100%;
}
header .ham_menu .menu_list li {
	position: relative;
	width: 17%;
}
header .ham_menu .menu_list li a{
	display: block;
	border-bottom: solid 5px #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	width: 100%;
}
header .ham_menu .menu_list li a:hover {
	opacity: 1;
}
header .ham_menu .menu_list li.color01 a:hover{
	border-color: #3046ba;
}
header .ham_menu .menu_list li.color02 a:hover{
	border-color: #00968e;
}
header .ham_menu .menu_list li.color03 a:hover{
	border-color: #32a300;
}
header .ham_menu .menu_list li.color04 a:hover{
	border-color: #67a900;
}
header .ham_menu .menu_list li.color05 a:hover{
	border-color: #e1ce00;
}
header .ham_menu .menu_list li .sub{
	display: block;
	font-size: 0.8em;
	margin: 0.5em 0 1.2em;
	letter-spacing: 0.1em;
}
header .ham_menu .menu_list li .main{
	font-size: 1.1em;
	display: block;
}


/****************************************
		scroll
*****************************************/
body header{
	opacity: 0;
	pointer-events: none;
}
body header.headerscroll{
	opacity: 1;
	transition: .3s;
	pointer-events: auto;
}


/****************************************
		footer
*****************************************/

footer{
	padding: 6.8em 0;
	position: relative;
	text-align: center;
}

footer .footer_link{
	position: relative;
	font-size: 0.9em;
}
footer .footer_link li{
	position: relative;
	display: inline-flex;
	margin: 1em 0;
}
footer .footer_link li a{
	padding: 0.3em 0.5em;
	font-size: 1.1em;
	letter-spacing: 0.05em;
}
footer .footer_link li:before {
	content: "";
	vertical-align: middle;
	width: 1px;
	height: 1em;
	margin: auto 1em;
	display: inline-block;
	background: #151744;
}
footer .footer_link li:last-of-type:after {
	content: "";
	vertical-align: middle;
	width: 1px;
	height: 1em;
	margin: auto 1em auto;
	display: inline-block;
	background: #151744;
}

footer small{
	display: block;
	clear: both;
	float: none;
	padding: 2em 0;
	font-size: 0.73em;
	letter-spacing: 0.07em;
}


/****************************************
		@top
*****************************************/
/* top FVアニメーション */
.main_content{
	min-height: 100vh;
	padding: 45px 0 0;
}
.fade_fv{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100vh;
	transition: height 1.2s ease;
	text-align: center;
}

/* アニメーション後 */
.fade_fv.is-move {
	height: 330px; /* ロゴエリアの高さ */
}
.fade_fv .logo {
	opacity: 0;
	transform: translateY(20px);
	transition: all 1s ease;
	width: 88%;
	margin: 0 auto;
}
.fade_fv .logo.is-show {
	opacity: 1;
	transform: translateY(0);
}

/* コンテンツ */
.fade_content {
	opacity: 0;
	transform: translateY(30px);
	transition: all 1s ease;
}
.fade_content.is-show {
	opacity: 1;
	transform: translateY(0);
}

.top_intro{
	text-align: center;
}
.top_intro .copy .sub{
	font-size: 1.3em;
	padding: 0.65em 1.5em;
	border: solid 1px #000;
	display: inline-block;
	margin: 0.1em 0 1em;
}
.top_intro .copy .main{
	font-size: 4.3em;
	font-weight: 100;
	display: block;
	line-height: 1.5em;
	letter-spacing: 0.24em;
	margin-left: 0.25em;
	margin-bottom: 0.8em;
}
.top_intro .btn_more{
	margin: 4em auto;
}

.top_news{
	padding: 4.5em 0;
}
.top_news .sec_tit{
	text-align: center;
	font-weight: bold;
	line-height: 1.1;
	margin-bottom: 2.5em;
}
.top_news .sec_tit .en{
	font-size: 2.1em;
	font-weight: 100;
	display: block;
	margin-bottom: 0.55em;
	letter-spacing: 0.11em;
}
.top_news .sec_tit .ja{
	display: block;
	letter-spacing: 0.25em;
}
.news_list{
	margin-bottom: 2.1em;
	position: relative;
	z-index: 10;
	border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	min-height: 5.6em;
}
.news_list:not(:has(li)):before {
  content: "記事はありません。";
  top: 2.3em;
  left: 0;
  right: 0;
  display: inline-block;
  position: absolute;
  z-index: -1;
  text-align: center;
}
.news_list li{
	position: relative;
	border-bottom: solid 1px #ccc;
	background: rgb(255 255 255 / 20%);
}
.news_list li:last-of-type{
	border-bottom: none;
}
.news_list li:nth-of-type(even){
	background: rgb(200 200 200 / 20%);
}
.news_list li .item_wrap{
	padding: 0.5em 5em 0.5em 2em;
	min-height: 5.6em;
	display: flex;
	align-items: center;
	position: relative;
}
.news_list li a{
	display: block;
}
.news_list li a:hover{
	background: rgb(255 255 255 / 100%);
}
.news_list li a:after{
	content: "";
	position: absolute;
	left: auto;
	right: 2em;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 1.9em;
	height: 1.4em;
	transition: all 1s;
	background: url(../img/ico_arrow.png) center center / contain no-repeat;
}
.news_list li a[href$=".pdf"]:after{
	height: 2.1em;
	background: url(../img/ico_pdf.svg) center center / contain no-repeat;
}
.news_list li .date{
	display: inline-block;
	text-align: center;
	margin-right: 1.8em;
	letter-spacing: 0.05em;
	width: 6.5em;
}
.news_list li .new{
	background: #FE366E;
	color: #fff;
	border-radius: 10px;
	padding: 0.3em 0.5em;
	display: block;
	margin-top: 0.4em;
	font-size: 0.9em;
	width: 100%;
}
.news_list li .date .day{
	display: block;
	font-size: 1.6em;
	margin-top: 0.5em;
	font-weight: bold;
}
.news_list li .tit{
	font-size: 1.06em;
	letter-spacing: 0.06em;
	line-height: 1.4;
	display: block;
	word-break: break-word;
	overflow-wrap: break-word;
	flex: 1;
}

.news_list li .cate{
	text-align: center;
	min-width: 11em;
	padding: 0.5em;
	font-size: 0.9em;
	border-radius: 0.3em;
	display: inline-block;
	margin-right: 2.5em;
	letter-spacing: 0.01em;
	position: relative;
	color: #fff;
	background: #4da81c;
	border: solid 1px #4da81c;
}
.news_list li.cat-0 .cate{
	background: transparent;
	border-color: #4da81c;
	color: #4da81c;
}
.news_list li.cat-1 .cate{
	background: #3046ba;
	border-color: #3046ba;
}
.news_list li.cat-2 .cate{
	background: #00968e;
	border-color: #00968e;
}
.news_list li.cat-3 .cate{
	background: #32a300;
	border-color: #32a300;
}
.news_list li.cat-4 .cate{
	background: #67a900;
	border-color: #67a900;
}

.top_menu{
	padding: 3.2em 0 1.7em;
}
.top_menu_list li{
	position: relative;
	width: 100%;
	padding: 20px 30px;
	margin: 0 auto;
}
.top_menu_list li .flex{
	background: rgb(255 255 255 / 80%);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 10px;
	height: 42.8em;
	box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
}
.top_menu_list li:nth-of-type(even) .flex{
	flex-direction: row-reverse;
}
.top_menu_list li a:hover{
	opacity: 1;
}
.top_menu_list li.color01 a:hover{
	background: #1d2a70;
}
.top_menu_list li.color02 a:hover{
	background: #006b65;
}
.top_menu_list li.color03 a:hover{
	background: #2a8a00;
}
.top_menu_list li.color04 a:hover{
	background: #467300;
}

.top_menu_list li a:hover .logo{
	-webkit-filter: brightness(0) invert(1);
	filter: brightness(0) invert(1);
}
.top_menu_list li .logo{
	width: 25.7%;
	display: block;
	text-align: center;
	display: flex;
	align-items: center;
	padding-bottom: 1.8em;
}
.top_menu_list li .txt_wrap{
	position: relative;
	width: 73.5%;
	color: #fff;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	height: 100%;
}

.top_menu_list li .txt_wrap .bg{
	position: absolute;
	display: block;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	border-radius: 5px;
	overflow: hidden;
}
.top_menu_list li .txt_wrap .bg img{
	object-fit: cover;
	height: 100%;
	width: 100%;
}

.top_menu_list li .txt_wrap .txt{
	position: relative;
	z-index: +1;
	width: 100%;
	max-width: 660px;
	margin: 1em 1em 4.2em 5em;
}
.top_menu_list li:nth-of-type(even) .flex .txt_wrap{
	justify-content: flex-start;
}
.top_menu_list li:nth-of-type(even) .flex .txt_wrap .txt{
	max-width: none;
}
.top_menu_list li .txt_wrap .txt .tit .en{
	display: block;
	font-size: 4.9em;
  font-weight: 800;
	line-height: 1.1em;
	color: rgb(255 255 255 / 25%);
  -webkit-text-stroke: 0.5px #FFF;
  text-stroke: 0.5px #FFF;
	margin-bottom: 0.4em;
}
.top_menu_list li .txt_wrap .txt .tit .ja{
	display: block;
	font-size: 1.7em;
	font-weight: 800;
	letter-spacing: 0.1em;
	margin-bottom: 1em;
}
.top_menu_list li .txt_wrap .txt p{

}

.top_soyokaze{
	position: relative;
	width: 100%;
	min-height: 37vw;
	z-index: 1;
	padding: 7.8em 0;
	color: #fff;
}
.top_soyokaze .bg{
	position: absolute;
	display: block;
	overflow: hidden;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: -1;
}
.top_soyokaze .bg img{
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.top_soyokaze .tit .en{
	display: block;
	font-size: 4.25em;
  font-weight: 800;
	letter-spacing: 0;
	line-height: 1.1em;
	color: rgb(255 255 255 / 20%);
	-webkit-text-stroke: 0.5px #FFF;
  text-stroke: 0.5px #FFF;
}
.top_soyokaze .tit .ja{
	display: block;
	font-size: 2.1em;
	letter-spacing: 0.17em;
	font-weight: 800;
	margin-top: 1em;
	margin-bottom: 0.8em;
}
.top_soyokaze .info{
	margin-top: 3em;
}

/* 404ページ */

body .error-page header {
  opacity: 1;
  pointer-events: all;
}

.error-page .main_content {
	margin-top: 15vw;
	min-height: 20vh;
	text-align: center;
}

.error-page .main_content h1 {
	font-size: 4vw;
}

.error-page .main_content .btn_more {
  margin: 0 auto;
}



/****************************************
		レスポンシブ
*****************************************/
.pc{
	display: block;
}
.sp{
	display: none;
}
.tablet{
	display: none;
}

img.pc{
	display: inline-block !important;
}
img.sp{
	display: none !important;
}

/****************************************
		tablet
*****************************************/
@media (max-width: 999px) and (min-width: 769px) {
	.tablet{
		display: block;
	}
	.top_intro .copy .main{
    font-size: 3.3em;
	}
	.top_menu_list li .txt_wrap .txt{
    margin: 1em 1em 2em 2em;
	}
	.top_menu_list li .txt_wrap .txt .tit .en{
    font-size: 4em;
	}
}


/****************************************
		sp
*****************************************/
@media (max-width: 768px) {
	.pc{
		display: none !important;
	}
	.sp{
		display: block;
	}
	img.pc{
		display: none !important;
	}
	img.sp{
		display: inline-block !important;
	}
	.sp-scroll-x{
		overflow-x: auto !important;
	}
	.sp-scroll-x table{
		margin-bottom: 0 !important;
	}
	.sp-scroll-x + p{
		margin-top: 1em;
	}
	.br:before {
		content: "\A";
		white-space: pre;
	}
	body{
		font-size: 3vw;
		min-width: 0;
		-webkit-text-size-adjust: 100%;
	  background-image: url(../img/top_bg_sp.png);
	}
	p{
    font-size: 2.9vw;
	}
	.btn_more{
    width: 76vw;
    font-size: 0.9em;
	}
	body header{
    opacity: 1;
    pointer-events: none;
	}
	header{
		background: none;
		box-shadow: none;
		margin: 0;
    height: auto;
	}
	header .head_left{
    opacity: 0;
    pointer-events: none;
    width: auto;
    transition: .3s;
	}
	body.ham_active{
		overflow: hidden;
	}
	body.ham_active .head_left,
	body header.headerscroll .head_left{
    opacity: 1;
    pointer-events: auto;
    transition: .3s;
	}
	header .head_logo{
    margin: 1.8em 0 0 1.1em;
	}
	header .head_logo img{
		width: 59vw;
	}
	header .head_right{
		width: auto;
    margin-right: 0;
		width: auto;
    display: block;
	}

	/****************************************
			ハンバーガーメニュー
	*****************************************/
	header .ham_menu{
		top: 0;
		left: auto;
		right: 0;
		pointer-events: none;
		position: static;
		z-index: 100;
	}
	header .ham_menu .menu{
		position: absolute;
		padding: 0;
		top: 0;
		left: auto;
		right: 0;
		width: 98%;
		height: 99vh;
    margin: 1% 1%;
		box-sizing: border-box;
		transition: 0.3s;
		z-index: -1;
		background: #fff;
		overflow-x: auto;
		opacity: 0;
		pointer-events: none;
		align-content: center;
		border-radius: 5px;
    box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.1);
	}
	header .ham_menu.active .menu{
		opacity: 1;
		transition: 0.3s;
		pointer-events: auto;
	}

	header .ham_menu .nav_toggle,
	header .ham_menu .nav_toggle .line {
		z-index: 100;
		position: relative;
		display: inline-block;
		transition: .3s;
		box-sizing: border-box;
		pointer-events: auto;
	}
	header .ham_menu .nav_toggle {
		appearance: none;
		cursor: pointer;
		pointer-events: auto;
		border: none;
		display: block;
		margin: 6vw 2.5vw 0 0;
    padding: 3vw 1vw 3vw 3vw;
	}

	header .ham_menu .nav_toggle .line{
		position: relative;
		margin: 0 0 0 auto;
		text-align: right;
		width: 4.8vw;
	}
	header .ham_menu .nav_toggle .line:before,
	header .ham_menu .nav_toggle .line:after{
		transition: .3s;
		content: "";
		position: absolute;
		right: 0;
	}
	header .ham_menu .nav_toggle .line,
	header .ham_menu .nav_toggle .line:before,
	header .ham_menu .nav_toggle .line:after{
		height: 2px;
		background-color: #4DA81C;
		display: block;
	}
	header .ham_menu .nav_toggle .line:before{
		width: 7.6vw;
    top: -1.5vw;
	}
	header .ham_menu .nav_toggle .line:after{
		width: 2.8vw;
    top: 1.5vw;
	}

	/* .ham_active */
	body.ham_active{
		overflow: hidden;
	}
	header .ham_menu.active .nav_toggle{
		background: transparent !important;
	}
	header .ham_menu.active .nav_toggle .line{
		visibility: hidden;
		background-color: transparent !important;
	}
	header .ham_menu.active .nav_toggle .line:before,
	header .ham_menu.active .nav_toggle .line:after{
		height: 2px;
		top: 0;
		visibility: visible;
		background-color: #4DA81C;
		width: 7vw;
	}
	header .ham_menu.active .nav_toggle .line:before{
    transform: rotate(30deg);
	}
	header .ham_menu.active .nav_toggle .line:after{
    transform: rotate(-30deg);
	}

	header .ham_menu .menu{
		display: block;
		position: fixed;
		padding: 16vw 0;
	}
	header .ham_menu .menu_list{
    flex-direction: column;
    align-items: center;
    justify-content: center;
		width: 70%;
		margin: 0 auto;
		overflow: auto;
	}
	header .ham_menu .menu_list li{
		width: 100%;
		text-align: left;
		margin: 1em auto;
	}
	header .ham_menu .menu_list li a{
    padding: 1em 0;
	}
	header .ham_menu .menu_list li .sub{
    font-size: 0.98em;
    font-weight: 400;
    margin: 0 0 1em;
	}
	header .ham_menu .menu_list li .main{
    font-size: 3.9vw;
	}


	footer{
    padding: 10vw 0 18vw;
	}
	footer .footer_link li{
    margin: 0.5em 0;
    display: flex;
    justify-content: center;
    align-items: center;
	}
	footer .footer_link li:after,
	footer .footer_link li:last-of-type:after{
		content: "";
    vertical-align: middle;
    width: 1px;
    height: 1em;
    margin: auto 1em auto;
    display: inline-block;
    background: #151744;
	}
	footer .footer_link li a{
    font-size: 0.95em;
	}
	footer small{
    font-size: 2vw;
    padding: 3em 0;
    line-height: 1.4;
	}
	 
	.main_content{
		padding: 12vw 0 0;
	}
	.fade_fv.is-move{
    height: 40vw;
	}
	.fade_fv .logo{

	}

	.top_intro{
    padding: 9vw 0;
	}
	.top_intro .copy .sub{
    font-size: 3vw;
    letter-spacing: 0.1em;
	}
	.top_intro .copy .main{
    font-size: 7.3vw;
    letter-spacing: 0.18em;
	}
	.top_intro .btn_more{
    margin: 2.5em auto;
	}

	.top_news{
    padding: 4.5em 0 0;
	}
	.top_news .sec_tit{
    margin-bottom: 11vw;
	}
	.top_news .sec_tit .en{
    font-size: 2em;
    letter-spacing: 0.07em;
    margin-bottom: 0.4em;
	}
	.news_list{
		margin-bottom: 0;
	}
	.news_list li .item_wrap{
    flex-wrap: wrap;
    min-height: 7.6em;
    padding: 0.7em 3em 0.5em 1em;
	}
	.news_list li a:after{
    right: 0.6em;
	}
	.news_list li .date{
    font-size: 0.9em;
		height: 3.2em;
    margin-right: 1.2em;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    align-content: center;
	}
	.news_list li .cate{
    min-width: 10em;
    margin: 0.7em 0;
	}
	.news_list li .tit{
    flex: auto;
    font-size: 2.8vw;
		font-weight: 400;
		height: 2.7em;
		width: 100%;
	}


	.top_menu{
    padding: 3.2em 0 5.4em;
	}
	.top_menu_list li{
    padding: 3vw;
	}
	.top_menu_list li .flex{
    padding: 63vw 4vw 6vw;
		min-height: 166vw;
		height: auto;
    display: block;
	}
	.top_menu_list li a{

	}
	.top_menu_list li .logo{
		width: 54%;
		height: 46vw;
		margin: 0 auto 0;
		padding: 0;
	}
	.top_menu_list li .txt_wrap{
		position: static;
		width: 100%;
		color: #000;
		text-align: center;
		display: block;
	}
	.top_menu_list li.color01 .txt_wrap{
		color: #1d2a70;
	}
	.top_menu_list li.color02 .txt_wrap{
		color: #006b65;
	}
	.top_menu_list li.color03 .txt_wrap{
		color: #2a8a00;
	}
	.top_menu_list li.color04 .txt_wrap{
		color: #467300;
	}
	.top_menu_list li a:hover .txt_wrap{
		color: #fff !important;
	}
	.top_menu_list li .txt_wrap .bg{
		height: 57vw;
		width: 94%;
		top: 3vw;
		margin: 0 auto;
    border-radius: 3px;
		z-index: +1;
	}
	.top_menu_list li .txt_wrap .txt,
	.top_menu_list li:nth-of-type(even) .flex .txt_wrap .txt{
		position: static;
		margin: 6.5vw 0 0;
		display: block;
	}
	.top_menu_list li .txt_wrap .txt .tit .en{
		position: absolute;
		z-index: +2;
		top: 10vw;
		left: 0;
		right: 0;
		opacity: 0;
		pointer-events: none;
	}
	.top_menu_list li .txt_wrap .txt .tit .ja{
    font-size: 4.1vw;
    letter-spacing: 0.16em;
	}
	.top_menu_list li .txt_wrap .txt p{
    letter-spacing: 0.1em;
	}

	.top_soyokaze{
		padding: 0 0 0;
		color: #404040;
		height: auto;
		text-align: center;
	}
	.top_soyokaze .inner{
		width: 95%;
		border-bottom: solid 1px #ddd;
		padding-bottom: 20vw;
	}
	.top_soyokaze .bg{
		position: relative;
	}
	.top_soyokaze .tit .en{
		position: absolute;
		top: 20vw;
		left: 0;
		right: 0;
		z-index: +2;
		opacity: 0;
		pointer-events: none;
	}
	.top_soyokaze .tit .ja{
    font-size: 5.9vw;
    letter-spacing: 0.2em;
    margin-top: 2.4em;
    margin-bottom: 1.5em;
	}
	.top_soyokaze .info{

	}

}
