@charset "UTF-8";
/* CSS Document */

*{
	box-sizing: border-box;
}

/* 変数管理 */
:root {
	/* 色指定用 */
	--main-color: #0070c0;
	--left-border: #0068ce;
/*	--left-border: #5aaaee;*/
	--bottom-border: #D6EEEE;
	--news: #015AA0;
	--font-title1: #00719F;
	--a-now: #e0f2ff;
	--a-hover: #268ce4;
	--table-back: #d3ebfe;
	--moji-back: #f7f8fa;

	/* 文字サイズ */
	--bunsyo: clamp(15px, 1.2vw, 18px);
	--smallBunsyo: clamp(13px, 1vw, 16px);
	--bigBunsyo: clamp(18px, 1.8vw, 21px);

	--title: clamp(30px, 3vw, 40px);
	--smallTitle: clamp(20px, 2vw, 30px);

	/* サイズ指定用 */
	--max-size1: 1500px;
	--max-size2: 1200px;
	--max-size3: 1000px;
}

body {
    margin: auto;
    width: 100%;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	line-height: 1.7;
	color: #333;
}

h1 {
    -moz-appearance: none;
	appearance: none;
    background-size:100vw;
    padding: auto 4%;
    text-align: center;
    font-size: var(--title);
    color: var(--news);
    margin: 0;
	margin-bottom: 2em;
}

h2 {
	border-left: solid 0.5em var(--left-border);
	padding: 0.4em 0.7em;
	margin-bottom: 1.5em;
	font-size: 1.3em;
	line-height: 1.7;
	background-color: var(--moji-back);
}

.balancesheet_content h3 {
	font-size: var(--bigBunsyo);
	margin-bottom: 0;
}

h4 {
	font-size: var(--bunsyo);
}

p{
	font-size: var(--bunsyo);
	line-height: 1.7;
}

a{
	color: var(--news);
	text-decoration: none;
/*	transition: color 0.3s ease, background-color 0.3s ease;*/
}

/* ここからホバー機能があるデバイスのみに適用 */
@media(hover: hover){
	a:hover {
		color: var(--a-hover);
	}
}
/* ここまでホバー機能があるデバイスのみに適用 */

.wrap {
	padding-bottom: 5em;
}

.main {
/*	max-width: 90vw;*/
	margin: 0 auto;
	padding: 0 2%;
}

/* ここから要素表示・非表示用 */
.hyouji {
	display: none;
}


/* ここまで要素表示・非表示用 */


/* ここからフッターを一番下にもってくるための設定 */
.contents {
	min-height: 100vh;
	display: flex;
	flex-direction:column;
}
/* ここまでフッターを一番下にもってくるための設定 */


/* ここからページ内リンク用位置調整 */
.anchor{
	/* 数年前のiPhone(iOS14.4以前)も一応カバー */
  -webkit-scroll-snap-margin-top: 10em;
  /* 現在の標準ブラウザ（Chrome, Edge, Firefox, Safari） */
  scroll-margin-top: 10em;
}
/* ここまでページ内リンク用位置調整 */


/* ここから目次用 */
ul.mokuji {
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(18em,1fr));
	gap: 1em;
	margin-bottom: 5em;
	padding-left: 0;
	list-style:none;
}

ul.mokuji li {
	font-size: var(--bunsyo);
	font-weight: 600;
}

ul.mokuji a {
	display: inline-block;
	width: 100%;
	text-decoration: none;
	text-align: center;
	color: #333;
	white-space: nowrap;
	border: solid 1px #ccc;
	padding: 0.5em;
}

ul.mokuji a:hover {
	background-color: var(--a-now);
	color: var(--main-color);
}

ul.mokuji .a_nowBack {
	background-color: var(--left-border);
	color: #fff;
}

/* ここまで目次用 */


/* ここからPDFアイコン用 */
span.pdfimg img{
	height: 1.5em;
	vertical-align: top;
	margin-left: 0.5em;
}
/* ここまでPDFアイコン用 */

/* ここからリンクアイコン用 */
span.linkIcon{
	display: inline-flex;
	align-items: center;
	margin-left: auto;
	padding-left: 1em;
}

span.linkIcon img {
	height: 1.5em;
	width: auto;
}
/* ここまでリンクアイコン用 */


/* ここからページトップに戻る矢印 */
html {
    scroll-behavior: smooth;
}

.pagetop {
    height: 3vw;
    width: 3vw;
    position: fixed;
    right: 3vw;
    bottom: 10px;
    border: solid 0.15em #015AA0;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 1vw;
    width: 1vw;
    border-top: 0.15em solid #015AA0;
    border-right: 0.15em solid #015AA0;
    transform: translateY(20%) rotate(-45deg);
}
/* ここまでページトップに戻る矢印 */

.gamenS {
	display: none;
}


/**********************
ここからヘッダー
************************/
.header {
    background-color: #f8f8f8;
    display: flex;
	justify-content: space-between;
	padding: 0.5em 4%;
    position: sticky;
    top: 0;
    z-index: 999;
    width: 100%;

    margin:0;	
}

.logo img{
    width: 100%;
    max-width: 150px;
	padding-top: 0.5vw;
	vertical-align: bottom;
}

.navi{
    padding-left: 1em;
}

.navi ul {
    display: flex;
    list-style: none;
    font-size: var(--bunsyo);
    color: var(--news);
}

.navi li {
    list-style: none;
    position: relative;
    display: inline-block;
}

.navi li:not(:last-child) {
	margin-right: 2.7vw;
}

.navi a::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    content: '';
    width: 0;
    height: 1px;
    background-color: #aa9a9a;
    transition: .3s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.navi a:hover::after {
    width: 100%;
    
}


/* ここからドロップダウンメニュー */
.list {
    display: flex;
    position: relative;
    color: var(--news);
    font-size: var(--bunsyo);
    list-style: none;
}

.list-item-link {
    text-decoration: none;
    color: inherit;
}

.list > li > ul {
    
    padding:0;
	margin:0;
    display: block;
    position: absolute;

    width: 17em;
    line-height:3.5em;/*ここで高さ指定することで、liタグのテキストが上下中央になる*/
    
    transform: scaleY(0);/*デフォルトでは非表示の状態にしておく (0)は0倍という意味*/
    transform-origin: center top;/*変形を適応する基準をtopとする*/
    transition: all .3s;/*表示の変化を0.3秒に指定*/

    box-shadow: 0 5px 15px rgba(0,0,0,.2);/*ドロップシャドウ*/    
}

.list > li:hover ul{/*.listの下のliにホバーしたら*/
	top:100%;
	left:0;
	list-style-type:none;
    transform: scaleY(1);/*ナビメニューにホバーしたら表示 (1)は1倍という意味*/
}


.dropdown_lists > li {
    width: 100%;
    height: 100%;
    white-space: nowrap;
    
    text-align: left;
    font-size: var(--bunsyo);
    background-color: #fff;
    /* background-color: rgba(255, 255, 255, 0.8); */
    
}

.dropdown_list + li { /*.dropdown_listの次にくるliにだけborder-topを指定*/
    border-top: #f6f6f6de solid 1px;
}

.dropdown_list > a {
    display: block;
    padding-left: 1vw;
}

.dropdown_list a:hover {
    background-color: #001fb9;
    background: linear-gradient(to right, #0023d0 0%,#3ed7d0 100%);
    color: #fff;
    
}
/* ここまでドロップダウンメニュー */


/* ここからハンバーガーメニュー*/
.humburgerheader{
	display: none;
}
/* ここまでハンバーガーメニュー*/

/**********************
ここまでヘッダー
***********************/


/**********************
ここからフッター
***********************/
.footer {
    background-color: #e8e8e8;
	
	margin-top:auto;/*  フッターを常に下に持ってくるための設定 */
}

.footer_wrap {
	background: url(../img/common_img/footer_back.png);
    -moz-appearance: none;
	appearance: none;
    background-size: 105%;
    background-repeat: no-repeat;
	background-position: 50% 0%;
	
	height: 100%;
	width: 100%;
	margin:0 auto;
	padding: 16vw 5vw 3em;
	
	background-color: #e8e8e8;
	
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.address {
	white-space:nowrap;
	font-size: var(--smallBunsyo);
}

.nozaki {
	display: inline-block;
	font-size: 1.8em;
	font-weight: 500;
	margin-bottom: 0.4em;
}

/*
.adress_indent {
	display: inline-block;
	padding-left: 3.3em;
}
*/


/* ここからサイトのご利用にあたって・個人情報保護方針 */
.footleft {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.footbutton_wrap {
	display: flex;
}

.footbutton {
	display:inline-block;
	margin-right: 1em;
/*	min-width: 13em;*/
/*	padding: 0 1em;*/
	color: #333;
	font-size: var(--smallBunsyo);
}

/*
.footbutton:not(:last-child){
	border-right: solid 1px;
}
*/
/* ここまでサイトのご利用にあたって・個人情報保護方針 */



.PV{
	width: 4vw;
	min-width: 75px;
	vertical-align: bottom;
}



.youtube img,
.insta img {
    width: 3.5em;
    margin-top: 2em;
	margin-right: 1.5em;
}

/*
.insta img {
    width: 2.5em;
    margin-top: 2em;
}
*/
.copyright {	
    font-size: 1em;
	background-color: #e8e8e8;
	color: #333;
	padding: 0 4%;
/*	position:relative;*/
}

small {
	display: inline-block;
/*	position: absolute;*/
	width:100%;
	bottom:0.5vw;
	text-align: center;
}
/**********************
ここまでフッター
***********************/



/**********************
ここからプリント用設定
***********************/
@media print {
	/* ここからページトップに戻る矢印 */
	.pagetop {
		display: none;
	}

	.pagetop__arrow {
		display: none;
	}
	/* ここまでページトップに戻る矢印 */
	
	
	/* ここからEdge印刷時だけヘッダー位置がおかしくなるのを防ぐ */
	.header{
		position: static !important; /* 固定を解除 */
		top: auto !important;
	  }
	/* ここまでEdge印刷時だけヘッダー位置がおかしくなるのを防ぐ */
}
/**********************
ここまでプリント用設定
***********************/


/**********************
レスポンシブ対応
***********************/
@media screen and (max-width:1030px)  {
	/**********************
	ここからヘッダー
	***********************/	
	/* ここからページ内リンク用位置調整 */
		.anchor{
			/* 数年前のiPhone(iOS14.4以前)も一応カバー */
		  -webkit-scroll-snap-margin-top: 6em;
		  /* 現在の標準ブラウザ（Chrome, Edge, Firefox, Safari） */
		  scroll-margin-top: 6em;
		}
	
	/* ここからハンバーガーメニュー用 */
		.header {
			display: none;
		}

		.humburgerheader{
			display: flex;
			position: sticky;
			top: 0;
			z-index: 999;
			background-color: rgb(248,248,248,90%);
		}

		.logo img{
			width: 100%;
			max-width: 100px;
			margin-left: 10px;
		}
	/* ここまでハンバーガーメニュー用 */

	
	/**********************
	ここまでヘッダー
	***********************/	
	}



@media screen and (max-width:786px)  {
	h1 {
		font-size: 6vw;
	}
	
	
	.none {/* 非表示用 */
		display: none;
	}
	
	
/* ここから目次用 */
	ul.mokuji {
		grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
		row-gap: 1vw;
		margin-bottom: 10vw;
	}

	ul.mokuji li {
		font-size: 16px;
	}
/* ここまで目次用 */
	

/* ここからページトップに戻る矢印 */
.pagetop {
    height: 2.5em;
    width: 2.5em;
}

.pagetop__arrow {
    height: 1em;
    width: 1em;
}
/* ここまでページトップに戻る矢印 */	


/**********************
ここからフッター
***********************/	
	.footer_wrap {
		display: block;
		background-size: 130%;
		padding-top: 20vw;
	}
	
	.address {
		white-space: normal;
		font-size: var(--smallBunsyo);
		padding: 0 2%;
		margin-bottom: 1em;
	}
	
	.nozaki {
	font-size: 1.5em;
	}

	.sns {
		margin-bottom: 1em;
	}
	
	.youtube img,
	.insta img{
		width: 50px;
		margin-right: 5vw;
	}
	
	.footbutton_wrap {
		display: inline-block;
	}
	
	.copyright {
		font-size: var(--smallBunsyo);
	}
/**********************
ここまでフッター
***********************/
}