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

@import url('https://fonts.googleapis.com/earlyaccess/notosansjp.css');
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru&display=swap');

/* reset */
html {scroll-behavior: smooth;scroll-padding-top: 100px;}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th{text-align:left;}
q:before,q:after{content:'';}
object,embed{vertical-align:top;}
legend{display:none;}
h1,h2,h3,h4,h5,h6{font-size:100%;}
img,abbr,acronym,fieldset{border:0;}

body{
	font: 14px/1.9 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;
	font-weight:400;
	-webkit-text-size-adjust:100%;
	overflow-x: hidden;
	color:#203744;
	background: #fff;
}

a { color: #00699f;
	text-decoration: none;
}

a:hover, .active{
  text-decoration: underline;
}

sup { font-size:60%;vertical-align:super;}

a:active, a:focus,input:active, input:focus{outline:0;}

@media (min-width:841px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

.clearFix { 
	content: "";
	display: block;
	clear: both;
}

.space40 { height:40px!important; }
.space60 { height:60px!important; }
.space80 { height:80px!important; }
.space100 { height:100px!important; }
.space120 { height:120px!important; }
.space150 { height:150px!important; }
.space180 { height:180px!important; }
.space200 { height:200px!important; }
.space240 { height:240px!important; }

@media screen and (max-width:767px){
.space40 { height:20px!important; }
.space60 { height:30px!important; }
.space80 { height:30px!important; }
.space100 { height:50px!important; }
.space120 { height:70px!important; }
.space150 { height:90px!important; }
.space180 { height:100px!important; }
.space200 { height:150px!important; }
.space240 { height:180px!important; }
}
.t-right { text-align:right!important;}
.t-center { text-align:center!important;}

.f-bold { font-weight:bold!important; }
.f80 { font-size:80%!important; }
.f120 { font-size:120%!important; }
.f150 { font-size:150%!important; }

.mt0 { margin-top:0px!important; }
.mt10 { margin-top:10px!important; }
.mt15 { margin-top:15px!important; }
.mt20 { margin-top:20px!important; }
.mt25 { margin-top:25px!important; }
.mt30 { margin-top:30px!important; }
.mt40 { margin-top:40px!important; }
.mt50 { margin-top:50px!important; }
.mt60 { margin-top:60px!important; }

.pt0 { padding-top:0px!important; }
.pt10 { padding-top:10px!important; }
.pt15 { padding-top:15px!important; }
.pt20 { padding-top:20px!important; }
.pt25 { padding-top:25px!important; }
.pt30 { padding-top:30px!important; }

.mb0 { margin-bottom:0px!important; }
.mb10 { margin-bottom:10px!important; }
.mb15 { margin-bottom:15px!important; }
.mb20 { margin-bottom:20px!important; }
.mb25 { margin-bottom:25px!important; }
.mb30 { margin-bottom:30px!important; }

.pb0 { padding-bottom:0px!important; }
.pb10 { padding-bottom:10px!important; }
.pb15 { padding-bottom:15px!important; }
.pb20 { padding-bottom:20px!important; }
.pb25 { padding-bottom:25px!important; }
.pb30 { padding-bottom:30px!important; }

@media screen and (min-width:768px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width:767px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}

/* 基本枠組み
----------------------------------------*/
#wrapper{ width: 100%;}

/*　メインコンテンツ　*/
#content {
	width: calc(100% - 380px);
	margin:0 4% 0 380px;
	align-items: center;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	height: auto;
	justify-content: flex-start;
	overflow-x: hidden;
	overflow-y: hidden;
	padding: 0px;
}

/*　左メニュー　*/
#sidebar{
	align-content: flex-start;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100vh;
	width:380px;
	position: fixed;
	z-index:888;
	top: 0;left:0;
	background: #f1f6f9;
}

.side-address {
	width:16em;
	margin:5vh auto 10px;
	line-height:1.5;
	letter-spacing:1px;
	font-size:11px;
}

.side-copyright {
text-align: center;
font-weight:600;
font-size:9px;
margin:0 0 0;
color:#00699f;
}

.side-copyright br {
  display:none;
}

@media only screen and (max-width:767px) {
.side-copyright br {
  display:block;
}
}

.side-logo {
	width: 100%;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	height: auto;
	justify-content: flex-start;
	margin:10vh 0px;
	padding: 0px;
}

.side-navi-info {
	width: 100%;
	align-items: center;
	flex-direction: column;
	gap: 0px;
	height: auto;
	justify-content: flex-start;
	margin: 0px;
	padding: 0px 0 20px;
}


@media screen and (max-width:1300px) {
/*　メインコンテンツ　*/
#content {
	width: calc(100% - 320px);
	margin:0 4% 0 320px;
}

/*　左メニュー　*/
#sidebar{
	width:320px;
}
}

@media screen and (min-width:1060px) {
/*右側メニュー*/
#sidebar{
 /* overflow-y: scroll; */
 /* IE, Edge 対応 */
 -ms-overflow-style: none;
 /* Firefox 対応 */
 /* scrollbar-width: none; */
 }
/* Chrome, Safari 対応 */
#sidebar::-webkit-scrollbar {
 display:none;}
}

@media only screen and (max-width:1060px){
/*左側メインコンテンツ*/
#content {
	width:100%;
	margin:0 0 0;
}
#sidebar {
    width:100%;
    height: auto;
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.1) -4px 9px 25px -6px;
}
.side-navi-info {
	padding: 0px 0 0px;
}
.side-address {
	text-align:center;
}
.side-copyright {
	text-align:center;
}

.side-logo {
	margin:0 0px;
	padding:0px;
}
}

@media only screen and (max-width: 799px){	
	#sidebar h1 {
		text-align: center;
		height: 66px;
	}
	
	#sidebar h1 img{
		width: auto !important;
		max-height: 25px;
	}
}

/*外部リンク
-----------------------------------------*/
a.external_link { 
	position:relative;
	text-decoration: none;
	white-space: nowrap;
	border-bottom:1px solid #0052a4;
	padding-bottom:2px;
	letter-spacing:0.8px!important;
	-webkit-transition: 0.5s;
	-moz-transition:0.5s;
	transition:0.5s;
}
a.external_link::after {
	position:absolute;
	top: 50%;
	right:-23px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width:20px;
	height:20px;
	content:'';	
	background: url("../images/external_link.svg") no-repeat;
	background-size: contain;
}	
a.external_link:hover {
	color:#ff0052;
	border-bottom:1px solid #ddd;
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

/*内部リンク
-----------------------------------------*/
a.internal_link { 
	position:relative;
	text-decoration: none;
	border-bottom:1px solid #0052a4;
	padding-bottom:2px;
	margin-right:30px;
	margin-left:5px;
	line-height:1.5;
	display:inline-block;
	letter-spacing:0.8px!important;
	-webkit-transition: 0.5s;
	-moz-transition:0.5s;
	transition:0.5s;
}
a.internal_link::after {
	position:absolute;
	top: 50%;
	right:-23px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width:20px;
	height:20px;
	content:'';	
	background: url("../images/link.svg") no-repeat;
	background-size: contain;
}	
a.internal_link:hover {
	color:#ff0052;
	border-bottom:1px solid #ddd;
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}


/* レスポンシブカラム
-----------------------------------------*/
.row { 
display: flex;
-webkit-box-direction: normal;
-webkit-box-orient: horizontal;
-moz-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
/*-moz-justify-content: space-between;
justify-content: space-between;*/
-moz-justify-content:flex-start;
justify-content:flex-start;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
position: relative;
}
.row > * { 
flex-grow: 0;
flex-shrink: 0;
}
.grow {flex-grow:1!important;} 
.row.row-reverse {flex-direction: row-reverse!important;}

.row [class^="col1-"]  { width: calc( 100% / 1 );}
.row [class^="col2-"]  { width: calc( 100% / 2 );}
.row [class^="col3-"]  { width: calc( 100% / 3 );}
.row [class^="col4-"]  { width: calc( 100% / 4 );}
.row [class^="col5-"]  { width: calc( 100% / 5 );}
.row [class^="col6-"]  { width: calc( 100% / 6 );}
.row [class^="col7-"]  { width: calc( 100% / 7 );}
.row [class^="col8-"]  { width: calc( 100% / 8 );}
.row [class^="col9-"]  { width: calc( 100% / 9 );}
.row [class^="col10-"] { width: calc( 100% / 10 );}
.row [class^="col11-"] { width: calc( 100% / 11 );}
.row [class^="col12-"] { width: calc( 100% / 12 );}

@media (min-width: 768px) {
.row [class*="-1-"]  { width: calc( 100% / 1 );}
.row [class*="-2-"]  { width: calc( 100% / 2 );}
.row [class*="-3-"]  { width: calc( 100% / 3 );}
.row [class*="-4-"]  { width: calc( 100% / 4 );}
.row [class*="-5-"]  { width: calc( 100% / 5 );}
.row [class*="-6-"]  { width: calc( 100% / 6 );}
.row [class*="-7-"]  { width: calc( 100% / 7 );}
.row [class*="-8-"]  { width: calc( 100% / 8 );}
.row [class*="-9-"]  { width: calc( 100% / 9 );}
.row [class*="-10-"] { width: calc( 100% / 10 );}
.row [class*="-11-"] { width: calc( 100% / 11 );}
.row [class*="-12-"] { width: calc( 100% / 12 );}
}

@media (min-width: 1200px) {
.row [class$="-1"]  { width: calc( 100% / 1 );}
.row [class$="-2"]  { width: calc( 100% / 2 );}
.row [class$="-3"]  { width: calc( 100% / 3 );}
.row [class$="-4"]  { width: calc( 100% / 4 );}
.row [class$="-5"]  { width: calc( 100% / 5 );}
.row [class$="-6"]  { width: calc( 100% / 6 );}
.row [class$="-7"]  { width: calc( 100% / 7 );}
.row [class$="-8"]  { width: calc( 100% / 8 );}
.row [class$="-9"]  { width: calc( 100% / 9 );}
.row [class$="-10"] { width: calc( 100% / 10 );}
.row [class$="-11"] { width: calc( 100% / 11 );}
.row [class$="-12"] { width: calc( 100% / 12 );}
}

/* 共通
---------------------------------------*/
img{
	max-width: 100%;
	height: auto;
}

section{
  clear: both;
}


/*下からフェードイン
--------------------*/
.fade-in-bottom {
   opacity: 0;
   animation-name: fadein-bottom;
   animation-duration: 1.5s;
   animation-timing-function: ease-out;
   animation-fill-mode: forwards;
}
@keyframes fadein-bottom {
   0% {
      opacity: 0;
      transform: translateY(20px);
   }
   100% {
      opacity: 1;
      transform: translateY(0);
   }
}

/* アニメーションエフェクト */

.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition:all 1.5s;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}
.To-right {
transform : translate(0, 0);
  -webkit-transition: all 1.5s;
   transition:all 1.5s;
  -webkit-transform: translate(0, 0);
  opacity: 1;
}
.To-right.move {
transform : translate(-50px, 0);
  -webkit-transform: translate(-50px, 0);
  opacity: 0;
}
.To-left {
transform : translate(0, 0);
  -webkit-transition: all 1.5s;
   transition:all 1.5s;
  -webkit-transform: translate(0, 0);
  opacity: 1;
}
.To-left.move2 {
transform : translate(50px, 0);
  -webkit-transform: translate(50px, 0);
  opacity: 0;
}

@media screen and (max-width: 768px) {
.To-right {
transform :none;
-webkit-transform:none;
}
.To-right.move {
transform :none;
-webkit-transform:none;
}

.To-left {
transform :none;
-webkit-transform:none;
}
.To-left.move2 {
transform :none;
-webkit-transform:none;
}
}


/* お問合せボタン */
a.contact-btn {
	margin:20px auto;
	font-weight:700;
	display: block;
	text-decoration:none;
	letter-spacing:2px;
	color:#004096!important;
	text-align:center;
	border:#004096 2.3px solid;
	background:#fff;
	border-radius:60px;
	padding:11px 5px 13px 0;
	width: 180px!important;
	position:relative;
	transition: .3s ease-in-out;
}
a.contact-btn::after {
	position: absolute;
	top: 50%;
	right:20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width:28px;
	height:28px;
	content:'';
	background: url(../images/mail.svg) no-repeat;
	background-size: contain;
}	
a.contact-btn:hover {
	background:rgba(228,238,245,1.0);
}


/* フッター
------------------------------------------------------------*/
footer { padding:120px 0;}

footer p { display:none;}

@media screen and (max-width:1060px) {
footer {
	display:block;
	clear: both;
	width:100%;
	margin: 120px auto 0;
	padding:50px 0 30px 0;
	background-color:#f1f6f9;
}
footer p { display:block;}
p.footer-address {
	text-align: center;
	margin:5vh auto 10px;
	line-height:1.5;
	letter-spacing:1px;
	font-size:11px;
}

p.footer-copyright {
text-align: center;
font-weight:600;
font-size:9px;
margin:0 0 0;
color:#00699f;
}
}


/* Back to top button
---------------------------------- */
#back-top {
	position:fixed;
	bottom:20px;
	right:20px;
	z-index: 99;
}
#back-top a {
	position:relative;
	width:45px;
	height:45px;
	display: block;
	background:#203744;
	color: #FFF !important;
	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
}
.arrow::before,
.arrow::before {
	position: absolute;
	content: "";
	margin: auto;
	top:42%;
	left:38%;
	width: 10px;
	height: 10px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform: rotate(-45deg);
}

#back-top a:hover {
	background:rgba(000,000,000,0.3);
}

@media only screen
and (min-width : 320px)
and (max-width : 480px) {
#back-top {
	position: fixed;
	bottom:21px;
	right:21px;
}
#back-top a {
	width: 40px;
	height: 40px;
	background:rgba(000,000,000,0.5);
}
.arrow::before, .arrow::before {
    width: 7px;
    height: 7px;
	z-index:999;
}
}

