﻿@charset "utf-8";

/* ==========================================
	frame.css フレームCSS
	Last Up Date 2021/07/20
 --------------------------------------------
	INDEX
 --------------------------------------------

	0.00.00 common サイト共通の枠組み
		0.01.00 common_body 共通のボディ
		0.02.00 common_wrapper 共通のラッパー
		0.03.00 common_header 共通のヘッダー
		0.04.00 common_contents 共通のコンテンツ
		0.05.00 common_footer 共通のフッター
		0.06.00 common_font 共通のフォント
		0.07.00 common_img 共通のイメージ
		0.08.00 common_link 共通のリンク
			0.08.01 common_a:link 未訪問のリンク
			0.08.02 common_a:visited  訪問済のリンク
			0.08.03 common_a:active  クリック中
			0.08.04 common_a:hover  カーソルを乗せた時
		0.09.00 common_display:none 共通の非表示
		0.10.00 共通webフォント設定
		0.11.00 keyfream設定

	1.00.00 PC_media screen MaxPC用サイトの枠組み
		1.01.00 PC_body MaxPC用のボディ
		1.02.00 PC_wrapper MaxPC用のラッパー
		1.03.00 PC_header MaxPC用のヘッダー
		1.04.00 PC_contents MaxPC用のコンテンツ
		1.05.00 PC_footer MaxPC用のフッター
		1.06.00 PC_font MaxPC用ののフォント
		1.07.00 PC_img MaxPC用の画像
		1.08.00 PC_display:table MaxPC用の疑似テーブル
		1.09.00 PC_anchor MaxPC用アンカー
		1.10.00 PC_top-arrow MaxPC用トップへ戻る
	
	2.00.00 TB_media screen TB用サイトの枠組み
		2.01.00 TB_body TB用のボディ
		2.02.00 TB_wrapper TB用のラッパー
		2.03.00 TB_header TB用のヘッダー
		2.04.00 TB_contents TB用のコンテンツ
		2.05.00 TB_footer TB用のフッター
		2.06.00 TB_font TB用のフォント
		2.07.00 TB_img TB用の画像
		2.08.00 TB_display:table TB用の疑似テーブル
		2.09.00 TB_anchor TB用アンカー
		2.10.00 TB_anchor TB用その他
		
	3.00.00 SP_media screen SP用サイトの枠組み
		3.01.00 SP_body SP用のボディ
		3.02.00 SP_wrapper SP用のラッパー
		3.03.00 SP_header SP用のヘッダー
		3.04.00 SP_contents SP用のコンテンツ
		3.05.00 SP_footer SP用のフッター
		3.06.00 SP_font SP用のフォント
		3.07.00 SP_img SP用の画像
		3.08.00 SP_display:table SP用の疑似テーブル
		3.09.00 SP_anchor SP用アンカー
		3.10.00 SP_anchor SP用その他

========================================== */

/* ==========================================
0.00.00 common サイト共通の枠組み
========================================== */
/* ==========================================
	0.01.00 common_body 共通のボディ
========================================== */
body {
	background-repeat:repeat;
	width:100%;
}
/* ==========================================
	0.02.00 common_wrapper 共通のラッパー
========================================== */
#wrapper{
    display: none;
	width: 100%;
	margin: 0 auto;
	position: relative;
    overflow: hidden;
}
/* ==========================================
	0.03.00 common_header 共通のヘッダー
========================================== */
/* ==========================================
	0.04.00 common_contents 共通のコンテンツ
========================================== */
#contents{
	min-height:100%;
}
select,button/*リセット*/ {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
a,img,a span,a::after,a::before,p::after,p::before,div::before,div#nav_bg,ul.dot_bt li,select,input[type="text"],button,p {
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
}
/* ==========================================
	0.05.00 common_footer 共通のフッター
========================================== */
/* ==========================================
	0.06.00 common_font 共通のフォント
========================================== */
h1,h2,h3,h4,h5,h6,p,dl, dt, dd, ol, ul, li,form, label,table,tbody,tr, th, td,a,span,button {
	font-family: -apple-system, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', 'メイリオ', meiryo, sans-serif;
	font-weight: normal;
}
@font-face {
  font-family: 'YuMincho';
  src: url('../../font/YuMincho.woff') format('woff'),
  url('../../font/YuMincho.ttf') format('truetype');
}
/* ==========================================
	0.07.00 common_img 共通のイメージ
========================================== */
img {
	max-width:100%;
	height:auto;
}
/* ==========================================
	0.08.00 common_link 共通のリンク
========================================== */
/* 0.08.01 common_a:link 未訪問のリンク */
a:link {
	text-decoration:none;
}
/* 0.08.02 common_a:visited  訪問済のリンク */
/*訪問後のリンク*/
a:visited {
	text-decoration:none;
}
/* 0.08.03 common_a:active  クリック中 */
a:active {
	text-decoration:none;
}
/* ==========================================
	0.09.00 common_display:none 共通の非表示
========================================== */
/* ==========================================
	0.10.00 共通webフォント設定
========================================== */
/* ==========================================
	0.11.00 keyfream設定
========================================== */
/* ==========================================
1.00.00 PC_media screen MaxPC用サイトの枠組み
========================================== */
@media screen and (min-width:1025px),print{
/* ==========================================
	1.01.00 PC_body MaxPC用のボディ
========================================== */
html, body { height: 100%; }
/* ==========================================
	1.02.00 PC_wrapper MaxPC用のラッパー
========================================== */	
/* ==========================================
	1.03.00 PC_header MaxPC用のヘッダー
========================================== */
/* ==========================================
	1.04.00 PC_contents MaxPC用のコンテンツ
========================================== */
#contents{
	margin:0 auto;
}
.in_box {
	margin:0 auto;
	box-sizing: border-box;
}
/* ==========================================
	1.04.01 #topics_list 設定
========================================== */
div#topics_list {
    width: calc(100% - 100px);
    background: rgba(0,0,0,0.05);
    padding: 30px 0 100px;
    margin: 0 auto;
}
div#topics_list div.in_box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    max-width: 1020px;
    box-sizing: border-box;
    padding: 75px 50px;
    position: relative;
}
div#topics_list div.in_box h3 {
    display: flex;
    align-items: center;
    font: 500 18px "Jost", "sans-serif";
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
    position: relative;
    margin: 0 0 0 5px;
}
div#topics_list div.in_box h3 span {
    font-size: 15px;
    letter-spacing: 0.05rem;
    line-height: 1.0;
    margin: 0 0 1px 15px;
}
div#topics_list div.in_box ul {
    display: block;
    width: 100%;
    border-top: solid thin #000000;
    border-bottom: solid thin #000000;
    margin: 30px 0 0;
    overflow-x: hidden;
    height: 430px;
}
div#topics_list div.in_box ul li {
    display: flex;
    position: relative;
}
div#topics_list div.in_box ul li:not(:first-child) {
    border-top: solid thin rgba(0,0,0,0.3);
}
div#topics_list li.news {
    align-items: center;
    padding: 53.5px 5px;
    box-sizing: border-box;
    width: 100%;
    position: relative;
}
div#topics_list li.news p:first-child  {
    display: block;
    font: 500 15px "Jost", "sans-serif";
    letter-spacing: 0.1rem;
    line-height: 1.0;
    width: 100px;
}
div#topics_list li.news p + p {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 10px;
    width: 100px;
    font-size: 14px;
    letter-spacing: 0.05rem;
    line-height: 1.0;
    box-sizing: border-box;
    border: solid thin #FFFFFF;
}
div#topics_list li.news p.c_info {
    color: #00D0E2;
    border-color: #00D0E2;
}
div#topics_list li.news p.t_info {
    color: #00E490;
    border-color: #00E490;
}
div#topics_list li.news a {
    display: block;
    color: #000000;
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: 0.05rem;
    width: calc(100% - 230px);
    margin: 0 0 0 30px;
}
div#topics_list li.news a:hover {
    text-decoration: underline;
}
/* ==========================================
	1.05.00 PC_footer MaxPC用のフッター
========================================== */
div#footer { 
    position: relative;
    z-index: 2;
}
div#footer div.in_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1200px;
    padding: 80px 35px 0;
}
div#footer div.in_box > a { 
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: calc(50% - 29px);
    top: -29px;
    width: 58px;
    height: 58px;
    box-sizing: border-box;
    border: solid thin #22A238;
    background: #FFFFFF;
    border-radius: 100px;
}
div#footer div.in_box > a img { 
    width: 15px;
    height: auto;
}
div#footer div.in_box > a:hover { 
    transform: scale(1.1) rotate(360deg);
}
div#footer div.in_box a + p { 
    display: block;
    width: 10px;
    order: 2;
    margin: 0 0 0 15px;
}
div#footer div.in_box h4 { 
    display: block;
    font:600 16px "Hiragino Kaku Gothic ProN","Hiragino Sans", Meiryo, "sans-serif";
    letter-spacing: 0.8rem;
    line-height: 3.2;
    writing-mode: tb-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: tb-rl;
    order: 1;
    position: relative;
}
div#footer div.in_box h4::after { 
    content: "";
    position: absolute;
    background: url("../../image/index/okushita_txt_b.svg") no-repeat;
    background-size: contain;
    width: 193px;
    height: 135px;
    left: 0;
    bottom: -140px;
}
div#footer div.in_box h4 + div { 
    display: flex;
    justify-content: center;
    width: 100%;
    order: 3;
    margin: 180px 0 50px;
}
div#footer div.in_box h4 + div a { 
    display: flex;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    background: #000000;
    border-radius: 100px;
    margin: 0 15px;
}
div#footer div.in_box h4 + div a img { 
    width: 20px;
}
div#footer div.in_box h4 + div a:hover { 
    background: #22A238;
    transform: scale(1.1);
}
div#footer div.in_box h4 + div a:last-child img { 
    width: 10px;
}
div#footer div.in_box div + div { 
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    order: 4;
    margin: 0 0 50px;
}
div#footer div.in_box div + div a { 
    display: block;
    margin: 0 25px;
    width: 200px;
}
div#footer div.in_box div + div a:hover { 
    opacity: 0.5;
}
div#footer div.in_box > p { 
    width: 100%;
    order: 5;
    font: 400 12px "Jost","sans-serif";
    line-height: 1.0;
    letter-spacing: 0.1rem;
    text-align: center;
    margin: 0 0 35px;
}
/* ==========================================
	1.06.00 PC_font MaxPC用のフォント
========================================== */
body,html {
	font-size: 62.5% ;
	letter-spacing: normal;
	line-height: 1.5;
}
p,a,h1,h2,h3,h4,h5,h6,h7,h8,h9,li {
	font-size: 1.4rem;
}
/* ==========================================
	1.07.00 PC_img MaxPC用の画像
========================================== */	
/* ==========================================
	1.08.00 PC_display:table MaxPC用の疑似テーブル
========================================== */
.table { display: table; }
.table_row { display: table-row; }
.table_cell { display: table-cell; }
/* ==========================================
	1.09.00 PC_anchor MaxPC用アンカー
========================================== */
/* ==========================================
	1.10.00 PC_top-arrow MaxPC用トップへ戻る
========================================== */
}
/* ==========================================
2.00.00 TB_media screen TB用サイトの枠組み
========================================== */
@media screen and (max-width: 1024px) and (min-width:569px) {
/* ==========================================
	2.01.00 TB_body TB用のボディ
========================================== */
/* ==========================================
	2.02.00 TB_wrapper TB用のラッパー
========================================== */
/* ==========================================
	2.03.00 TB_header TB用のヘッダー
========================================== */
/* ==========================================
	2.04.00 TB_contents TB用のコンテンツ
========================================== */
#contents{
	margin:0 auto;
}
.in_box {
	margin:0 auto;
	box-sizing: border-box;
}
/* ==========================================
	2.04.01 #topics_list 設定
========================================== */
div#topics_list {
    width: calc(100% - 70px);
    background: rgba(0,0,0,0.05);
    padding: 30px 0 100px;
    margin: 0 auto;
}
div#topics_list div.in_box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    max-width: 1200px;
    box-sizing: border-box;
    padding: 75px 50px;
    position: relative;
}
div#topics_list div.in_box h3 {
    display: flex;
    align-items: center;
    font: 500 18px "Jost", "sans-serif";
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
    position: relative;
    margin: 0 0 0 5px;
}
div#topics_list div.in_box h3 span {
    font-size: 15px;
    letter-spacing: 0.05rem;
    line-height: 1.0;
    margin: 0 0 1px 15px;
}
div#topics_list div.in_box ul {
    display: block;
    width: 100%;
    border-top: solid thin #000000;
    border-bottom: solid thin #000000;
    margin: 30px 0 0;
    overflow-x: hidden;
    height: 450px;
}
div#topics_list div.in_box ul li {
    display: flex;
    flex-wrap: wrap;
    position: relative;
}
div#topics_list div.in_box ul li:not(:first-child) {
    border-top: solid thin rgba(0,0,0,0.3);
}
div#topics_list li.news {
    align-items: center;
    padding: 40px 5px;
    box-sizing: border-box;
    width: 100%;
    position: relative;
}
div#topics_list li.news p:first-child  {
    display: block;
    font: 500 15px "Jost", "sans-serif";
    letter-spacing: 0.1rem;
    line-height: 1.0;
    width: 100px;
}
div#topics_list li.news p + p {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 10px;
    width: 100px;
    font-size: 14px;
    letter-spacing: 0.05rem;
    line-height: 1.0;
    box-sizing: border-box;
    border: solid thin #FFFFFF;
}
div#topics_list li.news p.c_info {
    color: #00D0E2;
    border-color: #00D0E2;
}
div#topics_list li.news p.t_info {
    color: #00E490;
    border-color: #00E490;
}
div#topics_list li.news a {
    display: block;
    color: #000000;
    font-size: 14px;
    width: 100%;
    line-height: 1.7;
    letter-spacing: 0.05rem;
    margin: 10px 0 0;
}
div#topics_list li.news a:hover {
    text-decoration: underline;
}
/* ==========================================
	2.05.00 TB_footer TB用のフッター
========================================== */
div#footer { 
    position: relative;
    z-index: 2;
}
div#footer div.in_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 80px 30px 0;
}
div#footer div.in_box > a { 
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: calc(50% - 25px);
    top: -25px;
    width: 50px;
    height: 50px;
    box-sizing: border-box;
    border: solid thin #22A238;
    background: #FFFFFF;
    border-radius: 100px;
}
div#footer div.in_box > a img { 
    width: 13px;
    height: auto;
}
div#footer div.in_box > a:hover { 
    transform: scale(1.1) rotate(360deg);
}
div#footer div.in_box a + p { 
    display: block;
    width: 8px;
    order: 2;
    margin: 0 0 0 15px;
}
div#footer div.in_box h4 { 
    display: block;
    font:600 15px "Hiragino Kaku Gothic ProN","Hiragino Sans", Meiryo, "sans-serif";
    letter-spacing: 0.8rem;
    line-height: 3.2;
    writing-mode: tb-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: tb-rl;
    order: 1;
    position: relative;
}
div#footer div.in_box h4::after { 
    content: "";
    position: absolute;
    background: url("../../image/index/okushita_txt_b.svg") no-repeat;
    background-size: contain;
    width: 180px;
    height: 128px;
    left: 5px;
    bottom: -140px;
}
div#footer div.in_box h4 + div { 
    display: flex;
    justify-content: center;
    width: 100%;
    order: 3;
    margin: 180px 0 50px;
}
div#footer div.in_box h4 + div a { 
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background: #000000;
    border-radius: 100px;
    margin: 0 15px;
}
div#footer div.in_box h4 + div a img { 
    width: 16px;
}
div#footer div.in_box h4 + div a:hover { 
    background: #22A238;
    transform: scale(1.1);
}
div#footer div.in_box h4 + div a:last-child img { 
    width: 8px;
}
div#footer div.in_box div + div { 
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    order: 4;
    margin: 0 0 50px;
}
div#footer div.in_box div + div a { 
    display: block;
    margin: 0 15px;
    width: 180px;
}
div#footer div.in_box div + div a:hover { 
    opacity: 0.5;
}
div#footer div.in_box > p { 
    width: 100%;
    order: 5;
    font: 400 10px "Jost","sans-serif";
    line-height: 1.0;
    letter-spacing: 0.1rem;
    text-align: center;
    margin: 0 0 25px;
}
/* ==========================================
	2.06.00 TB_font TB用のフォント
========================================== */
body,html {
	font-size: 62.5% ;
	letter-spacing: normal;
	line-height: 1.5;
}
p,a,h1,h2,h3,h4,h5,h6,h7,h8,h9,li {
	font-size: 1.4rem;
}
/* ==========================================
	2.07.00 TB_img TB用の画像
========================================== */
/* ==========================================
	2.08.00 TB_display:table TB用の疑似テーブル
========================================== */
.table { display: block; }
.table_row { display: block; }
.table_cell { display: block; }
/* ==========================================
	2.09.00 TB_anchor TB用アンカー
========================================== */
/* ==========================================
	2.10.00 TB_anchor TB用その他
========================================== */
}
/* ==========================================
3.00.00 SP_media screen SP用サイトの枠組み
========================================== */
@media screen and (max-width: 568px){	
/* ==========================================
	3.01.00 SP_body SP用のボディ
========================================== */
/* ==========================================
	3.02.00 SP_wrapper SP用のラッパー
========================================== *
/* ==========================================
	3.03.00 SP_header SP用のヘッダー
========================================== */
/* ==========================================
	3.04.00 SP_contents SP用のコンテンツ
========================================== */
#contents{
	margin:0 auto;
}
.in_box {
	margin:0 auto;
	box-sizing: border-box;
}
/* ==========================================
	3.04.01 #topics_list 設定
========================================== */
div#topics_list {
    width: 100%;
    background: rgba(0,0,0,0.05);
    padding: 0 0 0;
    margin: 70px 0 0;
}
div#topics_list div.in_box {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    box-sizing: border-box;
    padding: 70px 30px;
    position: relative;
}
div#topics_list div.in_box h3 {
    display: flex;
    flex-flow: column;
    font: 500 17px "Jost", "sans-serif";
    letter-spacing: 0.2rem;
    line-height: 1.0;
    color: #000000;
    position: relative;
    margin: 0 0 0 5px;
}
div#topics_list div.in_box h3 span {
    font-size: 13px;
    letter-spacing: 0.05rem;
    line-height: 1.0;
    margin: 8px 0 0 -2px;
}
div#topics_list div.in_box ul {
    display: block;
    width: 100%;
    border-top: solid thin #000000;
    border-bottom: solid thin #000000;
    margin: 20px 0 47px;
    overflow-x: hidden;
    height: 402px;
}
div#topics_list div.in_box ul li {
    display: flex;
    position: relative;
}
div#topics_list div.in_box ul li:not(:first-child) {
    border-top: solid thin rgba(0,0,0,0.3);
}
div#topics_list li.news {
    flex-wrap: wrap;
    align-items: center;
    padding: 35px 5px;
    box-sizing: border-box;
    width: 100%;
    position: relative;
}
div#topics_list li.news p:first-child  {
    display: block;
    font: 500 14px "Jost", "sans-serif";
    letter-spacing: 0.1rem;
    line-height: 1.0;
    width: 100px;
}
div#topics_list li.news p + p {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px;
    width: 100px;
    font-size: 13px;
    line-height: 1.0;
    box-sizing: border-box;
    border: solid thin #FFFFFF;
}
div#topics_list li.news p.c_info {
    color: #00D0E2;
    border-color: #00D0E2;
}
div#topics_list li.news p.t_info {
    color: #00E490;
    border-color: #00E490;
}
div#topics_list li.news a {
    display: block;
    color: #000000;
    font-size: 14px;
    width: 100%;
    line-height: 1.7;
    letter-spacing: 0.05rem;
    margin: 15px 0 0;
}
/* ==========================================
	3.05.00 SP_footer SP用のフッター
========================================== */
div#footer { 
    position: relative;
    z-index: 2;
}
div#footer div.in_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 80px 25px 0;
}
div#footer div.in_box > a { 
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: calc(50% - 25px);
    top: -25px;
    width: 50px;
    height: 50px;
    box-sizing: border-box;
    border: solid thin #22A238;
    background: #FFFFFF;
    border-radius: 100px;
}
div#footer div.in_box > a img { 
    width: 13px;
    height: auto;
}
div#footer div.in_box a + p { 
    display: block;
    width: 8px;
    order: 2;
    margin: 0 0 0 15px;
}
div#footer div.in_box h4 { 
    display: block;
    font:600 15px "Hiragino Kaku Gothic ProN","Hiragino Sans", Meiryo, "sans-serif";
    letter-spacing: 0.8rem;
    line-height: 3.2;
    writing-mode: tb-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: tb-rl;
    order: 1;
    position: relative;
}
div#footer div.in_box h4::after { 
    content: "";
    position: absolute;
    background: url("../../image/index/okushita_txt_b.svg") no-repeat;
    background-size: contain;
    width: 180px;
    height: 128px;
    left: 5px;
    bottom: -140px;
}
div#footer div.in_box h4 + div { 
    display: flex;
    justify-content: center;
    width: 100%;
    order: 3;
    margin: 180px 0 50px;
}
div#footer div.in_box h4 + div a { 
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background: #000000;
    border-radius: 100px;
    margin: 0 15px;
}
div#footer div.in_box h4 + div a img { 
    width: 16px;
}
div#footer div.in_box h4 + div a:last-child img { 
    width: 8px;
}
div#footer div.in_box div + div { 
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    order: 4;
    margin: 0 0 20px;
}
div#footer div.in_box div + div a { 
    display: block;
    margin: 0 15px 30px;
    width: 130px;
}
div#footer div.in_box > p { 
    width: 100%;
    order: 5;
    font: 400 10px "Jost","sans-serif";
    line-height: 1.0;
    letter-spacing: 0.1rem;
    text-align: center;
    margin: 0 0 25px;
}
/* ==========================================
	3.06.00 SP_font SP用のフォント
========================================== */
body,html {
	font-size: 62.5% ;
	letter-spacing: normal;
	line-height: 1.5;
}
p,a,h1,h2,h3,h4,h5,h6,h7,h8,h9,li {
	font-size: 1.2rem;
}
/* ==========================================
	3.07.00 TB_img TB用の画像
========================================== */
/* ==========================================
	3.08.00 TB_display:table TB用の疑似テーブル
========================================== */
.table { display: block; }
.table_row { display: block; }
.table_cell { display: block; }
/* ==========================================
	3.09.00 TB_anchor TB用アンカー
========================================== */
/* ==========================================
	3.10.00 TB_anchor TB用その他
========================================== */
}