@charset "UTF-8";


/***************************************************

	共通コンテンツ部

***************************************************/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Roboto:wght@100;300;400;500;700;900&display=swap');

:root {
	--color1: #1c91f5;
	--color2: #ededed;
	--color3: #f6f193;
	--color4: #f2c18d;
	--color5: #70C95B;
}


html, body{margin:0; padding:0}

body{
	position: relative;
	background: #ffffff;
	font-size: 18px;
	color: #333;
	line-height: 1.42;
	font-family: 'Noto Sans JP', sans-serif;
	word-wrap: break-word;
	word-break: break-all;
}

.gothic{
	font-family: 'Noto Sans JP', sans-serif;
}

.mincho{
	font-family: 'Noto Serif JP', serif;
}

.en{
   font-family: "Roboto", sans-serif;
}

a{
	transition: all 0.2s linear;
}

img{
	max-width: 100%;
	height: auto;
}

ul{
	list-style-type: none;
}

.pc-on{display: block;}
.sp-on{display: none;}


/* --------- ヘッダー ---------- */
header {
	width: 100%;
	position: fixed;
	z-index: 200;
	background: rgba(88,93,96,0.6);
	transition: all 0.2s linear;
}

.header_wrapper {
	width: 1200px;
	margin: 0 auto;
	padding: 23px 0 20px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	transition: all 0.2s linear;
}

.header_wrapper .head_logo{
	/*width: 304px;*/
	width: 224px;
	transition: all 0.2s linear;
}

.header_wrapper .g_navi_wrapp{
	width: 670px;
	transition: all 0.2s linear;
}

.header_wrapper .h_navi{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	line-height: 1;
}

.header_wrapper .h_navi li{
	border-left: 1px solid #fff;
}

.header_wrapper .h_navi li:first-child{
	border-left: none;
}

.header_wrapper .h_navi li a{
	display: inline-block;
	font-size: 18.5px;
	color: #fff;
	text-decoration: none;
	padding: 0 1em;
	transition: all 0.2s linear;
}

.header_wrapper .h_navi li:first-child a{
	padding-left: 0;
}

.header_wrapper .h_navi li:last-child a{
	padding-right: 0;
}


header.scroll{
	background: rgba(88,93,96,0.8);
}

header.scroll .header_wrapper{
	padding: 15px 0 13px;
}

.scroll .header_wrapper .head_logo{
	/*width: 198px;*/
	width: 156px;
}

.scroll .header_wrapper .h_navi li a{
	font-size: 16px;
}






/*------- フッター -------*/
.footer {
    width: 100%;
    background: #808080;
    padding: 40px 0 35px;
	line-height: 1;
	color: #fff;
}

.footer .f_logo{
	width: 180px;
	margin: 0 auto 18px;
}

.footer .f_add{
	text-align: center;
	margin-bottom: 20px;
}

.footer .f_link{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	margin-bottom: 45px;
}

.footer .f_link li{
	border-right: 1px solid #fff;
	padding: 0 1em;
}

.footer .f_link li:last-child{
	border-right: none;
}

.footer .f_link li a{
	color: #fff;
	text-decoration: none;
}

.footer .f_link li a:hover{
	text-decoration: underline;
}

.footer .copyright{
	text-align: center;
	font-size: 14px;
}


/*------- toTop -------*/

#toTop {
	position: fixed;
	bottom: 45px;
	right: 0;
	z-index: 9999;
}
#toTop a {
    width: 40px;
    text-align: center;
    display: block;
}


/*------- content -------*/

main{
	padding-bottom: 120px;
	overflow: hidden;
}

#page_head{
	margin-bottom: 120px;
}

#page_head .page_head_wrapp{
	width: 100%;
	height: 480px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}

#page_head .page_head_wrapp .page_head_cont{
	width: 1120px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}

#page_head .page_head_wrapp .page_head_cont .title_box{
	width: 355px;
	background: var(--color1);
	line-height: 1;
	padding: 45px 0 35px 45px;
	box-sizing: border-box;
	position: absolute;
    bottom: -40px;
    left: 0;
    color: #fff;
}

#page_head .page_head_wrapp .page_head_cont .title_box .jp_title{
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin-bottom: 18px;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}

#page_head .page_head_wrapp .page_head_cont .title_box .en_title{
	font-size: 24px;
	font-weight: 700;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
}

#breadcrumbs{
	position: absolute;
    bottom: -32px;
    left: 374px;
	font-size: 13px;
	color: var(--color1);
}

#breadcrumbs a{
	font-size: 13px;
	color: var(--color1);
	text-decoration: none;
}

main .cont_section{
	margin: 0 auto 100px;
	position: relative;
}

main .cont_section:last-of-type{
	margin-bottom: 0;
}

.cont_section h2{
	text-align: center;
	margin-bottom: 60px;
}

.cont_section h2 span{
	display: block;
	line-height: 1;
}

.cont_section h2 span.en_title{
	font-size: 40px;
	font-weight: 500;
	color: var(--color1);
	margin-bottom: 20px;
}

.cont_section h2 span.jp_title strong{
	display: inline-block;
	font-size: 30px;
	position: relative;
}

.cont_section h2 span.jp_title strong::after{
	content: '';
	display: block;
	width: 100%;
	height: 3px;
	background: var(--color1);
	position: absolute;
    bottom: -18px;
    left: 0;
    right: 0;
}


.news_area .news_list{
	width: 853px;
	margin: 0 auto 22px;
}

.news_area .news_list li{
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 15px;
    border-bottom: 1px solid #bebcb9;
}

.news_area .news_list li .date{
	width: 180px;
	padding-left: 40px;
	box-sizing: border-box;
	position: relative;
}

.news_area .news_list li.new .date::before{
	content: '';
	display: inline-block;
	width: 26px;
	height: 26px;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2026%2026%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%231c91f5%3B%20stroke-width%3A%200px%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M21.4%2C0H4.6C2.1%2C0%2C0%2C2.1%2C0%2C4.6v16.9c0%2C2.5%2C2.1%2C4.6%2C4.6%2C4.6h16.9c2.5%2C0%2C4.6-2.1%2C4.6-4.6V4.6c0-2.5-2.1-4.6-4.6-4.6ZM8.4%2C16h-1.4l-2-3.5v3.5h-1.4v-6h1.4l2%2C3.5v-3.5h1.4v6ZM13.7%2C16h-4.1v-6h4s0%2C1.2%2C0%2C1.2h-2.6v1.2s2.1%2C0%2C2.1%2C0v1.1h-2.1v1.3h2.7v1.2ZM20.8%2C16h-1.4l-.9-3.4-.9%2C3.4h-1.4l-1.6-6h1.4l.9%2C3.5.9-3.5h1.3l.9%2C3.5.9-3.5h1.4l-1.6%2C6Z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 0;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
}

.news_area .news_list li .cont{
	width: calc(100% - 180px);
}

.news_area .news_list li .cont a{
	color: #333;
	text-decoration: none;
}

.news_area .news_list li .cont a:hover{
	text-decoration: underline;
}

#pager{
	text-align: center;
	margin: 80px 0 0;
}

#pager span,
#pager a{
	display: inline-block;
	margin: 0 4px;
	padding: 0 8px;
	background: #fff;
	border: 1px solid var(--color1);
	border-radius: 20px;
	text-align: center;
	color: var(--color1);
	text-decoration: none;
	box-shadow: 2px 2px 4px -1px rgba(0,0,0,0.2);

}

#pager a:hover,
#pager span{
	background: var(--color1);
	color: #fff;
}





/********** 404 **********/

.notofound_image{
	text-align: center;
	margin: 220px auto 40px;
}

.notfond-copy{
	text-align: center;
	font-size: 16px;
	font-weight: bold;
}



/********************************************************************************
	リッキド用 CSS
********************************************************************************/

@media(max-width:1240px){


body{
	font-size: 1.451613vw;
}

/* --------- ヘッダー ---------- */

.header_wrapper {
	width: 96.774194vw;
	padding: 1.854839vw 0 1.612903vw;
}

.header_wrapper .head_logo{
	/*width: 24.516129vw;*/
	width: 18.064516vw;
}

.header_wrapper .g_navi_wrapp{
	width: 54.032258vw;
}

.header_wrapper .h_navi li a{
	font-size: 1.57vw;
}


header.scroll .header_wrapper{
	padding: 1.209677vw 0 1.048387vw;
}

.scroll .header_wrapper .head_logo{
	/*width: 15.967742vw;*/
	width: 12.580645vw;
}

.scroll .header_wrapper .h_navi li a{
	font-size: 1.290323vw;
}


/*------- フッター -------*/
.footer {
    padding: 3.225806vw 0 2.822581vw;
}

.footer .f_logo{
	width: 14.516129vw;
	margin: 0 auto 1.451613vw;
}

.footer .f_add{
	text-align: center;
	margin-bottom: 1.612903vw;
}

.footer .f_link{
	margin-bottom: 3.629032vw;
}

.footer .copyright{
	font-size: 1.129032vw;
}


/*------- toTop -------*/

#toTop {
	bottom: 3.515625vw;
}
#toTop a {
    width: 3.125vw;
}


/*------- content -------*/

main{
	padding-bottom: 9.677419vw;
}

#page_head{
	margin-bottom: 9.677419vw;
}

#page_head .page_head_wrapp{
	height: 38.709677vw;
}

#page_head .page_head_wrapp .page_head_cont{
	width: 90.322581vw;
}

#page_head .page_head_wrapp .page_head_cont .title_box{
	width: 28.629032vw;
	padding: 3.629032vw 0 2.822581vw 3.629032vw;
    bottom: -3.225806vw;
}

#page_head .page_head_wrapp .page_head_cont .title_box .jp_title{
	font-size: 2.419355vw;
	margin-bottom: 1.451613vw;
	text-shadow: 0.16129vw 0.16129vw 0.16129vw rgba(0, 0, 0, 0.3);
}

#page_head .page_head_wrapp .page_head_cont .title_box .en_title{
	font-size: 1.935484vw;
	text-shadow: 0.16129vw 0.16129vw 0.16129vw rgba(0, 0, 0, 0.3);
}

#breadcrumbs{
    bottom: -2.580645vw;
    left: 30.16129vw;
	font-size: 1.048387vw;
}

#breadcrumbs a{
	font-size: 1.048387vw;
}

main .cont_section{
	margin: 0 auto 8.064516vw;
}

.cont_section h2{
	margin-bottom: 4.83871vw;
}

.cont_section h2 span.en_title{
	font-size: 3.225806vw;
	margin-bottom: 1.612903vw;
}

.cont_section h2 span.jp_title strong{
	font-size: 2.419355vw;
}

.cont_section h2 span.jp_title strong::after{
	height: 0.241935vw;
    bottom: -1.451613vw;
}


.news_area .news_list{
	width: 68.790323vw;
	margin: 0 auto 1.774194vw;
}

.news_area .news_list li{
    padding: 1.209677vw;
}

.news_area .news_list li .date{
	width: 14.516129vw;
	padding-left: 3.225806vw;
}

.news_area .news_list li.new .date::before{
	width: 2.096774vw;
	height: 2.096774vw;
}

.news_area .news_list li .cont{
	width: calc(100% - 14.516129vw);
}

#pager{
	margin: 6.451613vw 0 0;
}

#pager span,
#pager a{
	margin: 0 0.322581vw;
	padding: 0 0.645161vw;
	border-radius: 1.612903vw;

	box-shadow: 0.161290vw 0.161290vw 0.322581vw -1px rgba(0,0,0,0.2);

}






/********** 404 **********/

.notofound_image{
	margin: 17.741935vw auto 3.125vw;
}

.notfond-copy{
	font-size: 1.25vw;
}



}




/********************************************************************************
	スマートフォン用 CSS
********************************************************************************/

@media(max-width:430px){

body{
	font-size: 3.733333vw;
}

.pc-on{display: none;}
.sp-on{display: block;}


/* --------- ヘッダー ---------- */

header.scroll,
header {
	height: 55px;
}

header.scroll .header_wrapper,
.header_wrapper {
	width: auto;
	padding: 0;
}

.scroll .header_wrapper .head_logo,
.header_wrapper .head_logo{
	/*width: 30.4vw;*/
	width: 26.133333vw;
	position: absolute;
	top: 50%;
	left: 6%;
	transform: translate(0, -50%);
}

.header_wrapper .g_navi_wrapp{
	width: auto;
}

.header_wrapper .h_navi{
	display: block;
	width: 60%;
	background: var(--color1);
	position: fixed;
	top: 55px;
	right: -60%;
	padding: 3.2vw;
	box-sizing: border-box;
	border-radius: 0 0 0 5.333333vw;
	transition: all 0.2s linear;
}

.header_wrapper .h_navi.active{
	right: 0;
}

.header_wrapper .h_navi li{
	border-left: none;
	border-bottom: 1px solid #fff;
}

.header_wrapper .h_navi li:last-child{
	border-bottom: none;
}

.scroll .header_wrapper .h_navi li a,
.header_wrapper .h_navi li a{
	display: block;
	font-size: 3.733333vw;
	padding: 3.733333vw 0;
	position: relative;
}

.header_wrapper .h_navi li a::after{
	content: '';
	display: inline-block;
	width: 2.133333vw;
	height: 2.133333vw;
	margin: 0 2.666667vw;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	position: absolute;
    top: 50%;
    right: 2.666667vw;
	transform: rotate(45deg) translate(0, -50%);
}


.nav_btn{
	width: 10.666667vw;
	height: 10.666667vw;
	position: fixed;
	top: 2.133333vw;
	right: 6%;
}

.nav_btn span{
	width: 5.866667vw;
	height: 0.533333vw;
	background: #fff;
	position: absolute;
	left: 2.4vw;
	transition: all 0.2s linear;
}

.nav_btn span:nth-child(1){
	top: 2.933333vw;
}

.nav_btn span:nth-child(2){
	top: 5.066667vw;
}

.nav_btn span:nth-child(3){
	top: 7.2vw;
}

.nav_btn.open span:nth-child(1){
	top: 5.333333vw;
	transform: rotate(45deg);
}

.nav_btn.open span:nth-child(2){
	display: none;
}

.nav_btn.open span:nth-child(3){
	top: 5.333333vw;
	transform: rotate(-45deg);
}

.menu_bg{
	background: rgba(0,0,0,0.3);
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	display: none;
}




/*------- フッター -------*/
.footer {
    padding: 4.8vw 0;
}

.footer .f_logo{
	width: 32vw;
	margin: 0 auto 3.2vw;
}

.footer .f_add{
	font-size: 3.466667vw;
	line-height: 1.4;
	margin-bottom: 3.733333vw;
}

.footer .f_link{
	display: none;
}

.footer .copyright{
	font-size: 2.666667vw;
}



/*------- toTop -------*/

#toTop {
	position: fixed;
	bottom: 12vw;
	right: 0;
	z-index: 9999;
}
#toTop a {
    width: 10.666667vw;
    text-align: center;
    display: block;
}



/*------- content -------*/

main{
	padding-bottom: 16vw;
}

#page_head{
	margin-bottom: 16vw;
}

#page_head .page_head_wrapp{
	height: 48vw;
}

#page_head .page_head_wrapp .page_head_cont{
	width: auto;
	margin: 0 6%;
}

#page_head .page_head_wrapp .page_head_cont .title_box{
	width: 48vw;
	padding: 4.266667vw 0 3.733333vw 4.266667vw;
    bottom: -6.933333vw;
}

#page_head .page_head_wrapp .page_head_cont .title_box .jp_title{
	font-size: 4.8vw;
	margin-bottom: 2.666667vw;
	text-shadow: 0.533333vw 0.533333vw 0.533333vw rgba(0, 0, 0, 0.3);
}

#page_head .page_head_wrapp .page_head_cont .title_box .en_title{
	font-size: 3.2vw;
	text-shadow: 0.533333vw 0.533333vw 0.533333vw rgba(0, 0, 0, 0.3);
}

#breadcrumbs{
    bottom: -5.866667vw;
    left: 49.333333vw;
	font-size: 2.666667vw;
}

#breadcrumbs a{
	font-size: 2.666667vw;
}

main .cont_section{
	margin: 0 6% 13.333333vw;
}

.cont_section h2{
	margin-bottom: 10.666667vw;
}

.cont_section h2 span.en_title{
	font-size: 5.866667vw;
	margin-bottom: 2.133333vw;
}

.cont_section h2 span.jp_title strong{
	font-size: 5.333333vw;
}

.cont_section h2 span.jp_title strong::after{
	height: 0.533333vw;
    bottom: -3.2vw;
}


.news_area .news_list{
	width: auto;
	margin: 0 6% 3.2vw;
}

.news_area .news_list li{
	display: block;
    padding: 3.2vw;
}

.news_area .news_list li .date{
	width: auto;
	padding-left: 7.2vw;
	margin-bottom: 2.133333vw;
}

.news_area .news_list li.new .date::before{
	width: 4.8vw;
	height: 4.8vw;
}

.news_area .news_list li .cont{
	width: auto;
}

#pager{
	text-align: center;
	margin: 10.666667vw 0 0;
}

#pager span,
#pager a{
	margin: 0 1.066667vw;
	padding: 0 1.6vw;
	border-radius: 5.333333vw;
	box-shadow: 0.533333vw 0.533333vw 1.066667vw -1px rgba(0,0,0,0.2);

}







/********** 404 **********/

.notofound_image{
	width: 80%;
	margin: 37.333333vw auto 10.666667vw;
}

.notfond-copy{
	font-size: 3.466667vw;
}


}


