@charset "UTF-8";

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

@import url('https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@200;300&display=swap');

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@300;400;500;600&display=swap');


/* ===========================================
	基本事項
=========================================== */

html{
	background-color: #000000;
}

body {
    position: relative;
	
	font-family:'IBM Plex Sans JP', serif,"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",sans-serif, 'メイリオ','Meiryo','ＭＳ Ｐゴシック','Osaka';
	
	padding: 0;
    margin: 0;
	width: 100%;
	-webkit-text-size-adjust: 100%;
}

body,
header{
  width: 100%;
  background-color: #ffffff;
}

.fixed {
	overflow: hidden;
} 

.page-wapper{
	min-height:100vh;
}

h1{
	margin: 0;
    padding: 0;
	font-size:4.2vw;
	font-weight:300;
}

h2{
	margin: 0;
    padding: 10px 0 5px 0;
	font-size:4.2vw;
	font-weight:300;
}

h3{
	margin: 0;
    padding: 5px 0 0 0;
	//font-weight: normal;
	font-size:1.2vw;
	font-weight:300;
}

h4{
	margin: 0;
    padding: 0;
	font-size:1.8vw;
	font-weight:300;
}


/* ===========================================
	日本語改行位置の制御
=========================================== */

.break-word{
	word-break: keep-all;
 	overflow-wrap: break-word;
}

/* ===========================================
	ダサスタイルを初期化
=========================================== */

.input-text{
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 1em;
  padding: 0.4em 0.8em;
  width: 100%;
}

.input-text:focus {
  border:none;
  box-shadow: none;
  outline: none;
}

textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 1em;
  height: 100px;
  padding: 0.4em 0.8em;
  width: 100%;
}

textarea:focus {
  border: 1px solid rgba(0, 0, 0, 0.32);
  box-shadow: none;
  outline: none;
}

.submit-text {
  -webkit-appearance: none;
  background-color: rgba(0, 0, 0, 0.32);
  background-image: none;
  border: none;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-size: 1em;
  margin: 0 0 1em;
  padding: 0.6em 2em;
  text-decoration: none;
}

.submit-text:hover,
.submit-text:focus {
  outline: none;
}

.submit-test::-moz-foucus-inner {
  border: none;
  padding: 0;
}


th {
	font-weight: normal;
}

/* ===========================================
	チャプタータイトル
=========================================== */

.chapter-title{
	position:relative;
	color:rgba(255, 255, 255, 0.75);
}

.glay-title{
	height:1em;
	color:#666666;
}

.chapter-name{
	position:absolute;
	
	font-family: 'Kanit', sans-serif;
	font-weight: 200;
	
	top:0.5em;
	left:0.5em;
	
	font-size: calc(18px + 6 * (100vw - 600px)/1200);
}

.title-bg{
	background: #000000;
	padding-top: 60px;
}

/* ===========================================
	トップメニュー
=========================================== */

.top-menu-wrapper{
	
	position: fixed;
	top:0px;
	left:0px;
	width:100%;
	color: #eeeeee;
	
	text-align: left;
	z-index:5000;
	
	overflow: hidden;
	
	font-family: 'Kanit', sans-serif;
	font-weight: 300;
	
	font-size: calc(12px + 6 * (100vw - 600px)/1200);	
	height:6em;
	
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex; /* 子要素をflexboxで揃える */
	
  	-webkit-box-align:center;
  	-ms-flex-align:center;
  	align-items:center;
	
	background-color:rgba(255, 255, 255, 0.85);
	//background-color:rgba(0, 0, 0, 0.85);
}

.top-menu{
	position:relative;
	width:100%;
}

#top-button-wrapper{
	position:relative;
	
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex;
	justify-content: flex-end; 
	align-items:center;
	
	height:60px;
	padding-right:2vw;
	
	color:#eeeeee;
}

#top-varie{
	position:absolute;
	width:170px;
	
	top:10px;
	//bottom:0px;
	left:5px;

}

#top-varie img{
	width:100%;
}

#top-button-wrapper a{
 	color: #eeeeee;
}

.top-button{
	position: relative;
	
	font-size: calc(12px + 6 * (100vw - 600px)/1200);	
	color:#eeeeee;
	
	width:6.4em;
	line-height:2em;
	text-align: center;
	
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight:400;
}


.top-button span{
	
	padding:0px;
	margin:0px;
}

/* 擬似要素で下線を引く */
.top-button a::after {
	content: '';
	/*絶対配置で線の位置を決める*/
	position: absolute;
	bottom:-2px;
	left:1em;
	width:5em;
	
	height: 3px;
	
	 /*背景色が線の色になる*/
	//background-color:#073E74;
	background-color:#ab1e2d;
	
	 /*アニメーションの指定*/
    transition: all 0.3s;
    transform: scale(0, 1);/*X方向0、Y方向1*/
    transform-origin: center;/*左上基点*/
}

.top-button a:hover::after {
    transform: scale(1, 1);/*X方向にスケール拡大*/
}

/* 別ページ用の線の色変更 */
.button-colorchenge a::after {
	background-color:#073E74 !important;
}


#headder3{
	width:8em !important;
}
#headder3 a::after {
	width:6em !important;
}
#headder4{
	width:7em !important;
}
#headder4 a::after {
	width:5em !important;
}
#headder5{
	width:7em !important;
}
#headder5 a::after {
	width:5em !important;
}
#headder6{
	width:7em !important;
}
#headder6 a::after {
	width:5em !important;
}
#headder7{
	width:6em !important;
}
#headder7 a::after {
	width:4em !important;
}

#mail-button{
	//position: relative;
	
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex; /* 子要素をflexboxで揃える */
	
  	-webkit-box-align:center;
  	-ms-flex-align:center;
  	align-items:center;
	
	-webkit-justify-content:center;
	-ms-flex-justify-content:center;
	justify-content:center;
	
	text-indent:0.3em;
	width:8em;
}

#mail-button a::after{
	width:7em;
	left:10px;
}

#mail-button img{
	width:20px;
}

/* 通常時はホバー時の文字を非表示にする */
a .nomal{
	display: inline;
}

/* 通常時はホバー時の文字を非表示にする */
a .hover{
	display: none;
}

/* ホバー時は通常時の文字を非表示にする */
a:hover .nomal{
	display: none;
}

/* ホバー時に、ホバー時の文字を表示する */
a:hover .hover{
	display: inline;
}

#top-open-button{
	position: relative;
	
	cursor:pointer;
	
	//background-color:blue;
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex; /* 子要素をflexboxで揃える */
	
  	-webkit-box-align:center;
  	-ms-flex-align:center;
  	align-items:center;
	
}

#top-open-button img{
	width:30px;
	height:30px;
	display:none;
}

#message-name{
	position:absolute;
	top:0px;
	left:1vw;
	color:rgba(255, 255, 255, 0.8);
	font-family: 'M PLUS 1p', sans-serif;
	font-weight:400;
	font-size: calc(13px + 0 * (100vw - 600px)/1200);
}

/* ===========================================
	スマートメニュー（全面透過）
=========================================== */

#smart-menu{
	position:fixed;
	//background-color: rgba(0, 0, 0, 0.83);
	background-color:#073E74;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	z-index: 10000;
	display:none;
	visibility: hidden;	
	text-align: center;
}

.smart-icon{
	cursor: pointer;
	
}

.smart-icon img{
	width:30px;
	height:30px;
}

#smart-button-wrapper{
	position: relative;
	width:100%;
	
	position: relative;
	text-align: center;
	
	border-top:1px solid #999999;
	margin-top:60px;
	margin-bottom:60px;
	height:calc(100% - 120px);
	
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex; /* 子要素をflexboxで揃える */
		
	flex-flow: column;
}

.smart-button{
	position: relative;
	
	flex:1;
	border-bottom:1px solid #999999;
	
	width:100%;
	min-height:60px;
	
	font-size: calc(20px + 0 * (100vw - 600px)/1200);
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight:300;
	
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex; /* 子要素をflexboxで揃える */
	
  	-webkit-box-align:center;
  	-ms-flex-align:center;
  	align-items:center;
	
	-webkit-justify-content:center;
	-ms-flex-justify-content:center;
	justify-content:center;
	
	color:#eeeeee;
	
	text-align: center;
	//background-color:blue;
}

.smart-button a{
	position: relative;
	width:100%;
	cursor:pointer;
	color:#ffffff;
	line-height:1;
	display: block !important;
}

.smart-button a:hover{
	color:#ffffff;
}

.smart-button span{
	color:#eeeeee;
	line-height:1;
	
	font-size: calc(15px + 0 * (100vw - 600px)/1200);
	
	font-family: 'Kanit', sans-serif;
	font-weight: 300;
}

#close-menu-button-l{
	display:none;
	visibility: hidden;	
	position: fixed;
	top:15px;
	left:20px;
	
	text-align: center;
}

#close-menu-button-r{
	display:none;
	visibility: hidden;	
	position: fixed;
	top:15px;
	right:20px;
	
	text-align: center;
}

#close-menu-button img{
	margin: 0 auto;
}



/* ===========================================
	ニュース
=========================================== */

.news-wrapper{
	position: relative;
	
	text-align: center;
	
	background-color: #F4F4F4;
	//background-color:#ECEEF5;
	
	border-top: 0.5px solid #aaaaaa;
	
	color:#333333;
	
	padding-top:3em;
	padding-bottom:8em;
}

#news-title{
	position:absolute;	
	top:0px;
	
	width:100%;
	text-align: center;
	color:#666666;	
}

.news{
	position: relative;
	
	width: 100%;
	text-align: center;

	padding-top:2em !important;
	
}

.news h4{
	padding:0 0 1em 0;
	margin:60px 0 0 0;
	line-height:1em;
	
	font-size: calc(15px + 5 * (100vw - 600px)/1200);

	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight:300;
	color:#444444;
}

.news-inner{
	position: relative;
	
	max-width:1620px;
	
	padding-left: 15px;
	padding-right: 15px;
	margin: 0 auto;
	
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex; /* 子要素をflexboxで揃える */
	
	flex-wrap:wrap;
	
	-webkit-justify-content:center;
	-ms-flex-justify-content:center;
	justify-content:center;
	
	-webkit-box-align:flex-start;
  	-ms-flex-align:flex-start;
  	align-items:flex-start;
}

.news-content{
	position: relative;
	
	max-width:600px;
	
	width: calc(33.333% - 30px); /* margin padding分を引く */
	margin: 15px;
	border: 0.5px solid #666666;
	box-sizing: border-box;
	
}

.news-content a,a:visited{
    //color: inherit;
}

.news-content a:hover{
    color: #dddddd;
}

.news-image{
	position: relative;
	
	text-align: center;
	
	overflow: hidden;
}

.news-image img{
	width:100%;
	
	height:20vw;
	
	vertical-align: top;
	object-fit:cover;
	
	transition: transform 0.3s ease;
	overflow: hidden;
}

.news-image img:hover {
	transform: scale(1.1); /* 拡大 */
	filter: brightness(80%);
}

.news-image div{
	position: absolute;
	
	top:0.6em;
	left:1.2em;
	color:#ffffff;
	
	font-size: calc(12px + 1 * (100vw - 600px)/1200);

	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight:400;
}

.news-words{
	position: absolute;
	bottom:0px;
	
	font-size: calc(12px + 3 * (100vw - 600px)/1200);
	color:#ffffff;
	line-height:2;
	
	background-color:rgba(0,0,0,0.7);
	//height:6em;
	padding-top:1.5em;
	width:100%;
}

.news-detail{
	position:relative;
	
	height:1.5em;
	line-height:1.5em;
	
	font-size: calc(16px + 4 * (100vw - 600px)/1200);
}

.news-detail div{
	display: inline-block;
	_display: inline;
}

.news-detail a{
	display: block;
}

.news-category{
	
	position:relative;
	
	font-size: calc(10px + 3 * (100vw - 600px)/1200);
	
	padding-left:0.75em;
	padding-right:0.75em;
	
	box-sizing: border-box;
	vertical-align: top;
	border: 0.5px solid #dddddd;
	color:#eeeeee;
	
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight:300;
}

.news-name{
	position:relative;
	
	font-weight:500;
	font-family: 'IBM Plex Sans JP', sans-serif;
	color:#eeeeee;
	
	text-indent:0.3em;
}

.news-tag{
	position: relative;
	
	font-size: calc(10px + 3 * (100vw - 600px)/1200);
	color:#dddddd;
	
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight:400;
	height:3em;
	line-height:3em;
	
}

.news-tag span{
	padding-right:1em;
}

	
#news-more{
	position: relative;
	width: 100%;
	
	text-align: center;
	
	color:#ffffff;
	padding-top:4em;
	
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight:400;
}

#news-more div{
	position: relative;
	
	width:150px;
	height:50px;
	line-height: 50px;
	margin: 0 auto;
	border: 0.5px solid #333333;
	
	background-color:rgba(0, 0, 0, 0.05);
	font-size: calc(12px + 1 * (100vw - 600px)/1200);
}

#news-more div:hover {
	background-color:rgba(0, 0, 0, 0.1);
}

#news-more div a{
	color:#444444;
  	display: block;
}



/* ===========================================
	スマホ対応
=========================================== */

@media(max-width:1200px){
	
	.news-content{
		width: calc(50% - 30px); /* margin padding分を引く */
	}
	
	.news-image img{
		height:30vw;
	}
}

@media(max-width:800px){
	
	.news-inner{
		padding-left: 0;
		padding-right: 0;
	}
	
	.news-content{
		width: calc(100% - 20px); /* margin padding分を引く */
		margin-left:10px;
		margin-right:10px;
	}
	
	.news-image img{
		height:auto;
	}
	
}

@media(max-width:400px){
	
	.news-image img{
		height:240px;
	}
}


/* ===========================================
	フッター
=========================================== */

.footer{
	position: relative;

	width:100%;
	overflow: hidden;
	
	text-align: left;
	
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight:300;
	
	color:#eeeeee;
	background-color:#073E74;
}

#footer{
	
}

#footer a{
	color:#ffffff;
}

@keyframes footer-anim {

	0% {
  		transform: translateX(0px);
	}

  	100% {
  		transform: translateX(60px);
	}
}


/* ===========================================
	問い合わせ
=========================================== */

.contact-wrapper{
	position:relative;	
	
	width:100%;
	text-align: center;
	
}

#contact-title{
	position:absolute;	
	top:0px;
	text-align: center;
	color:#ffffff;
	display: none;
}

.contact{
	position:relative;
	
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex; /* 子要素をflexboxで揃える */
	
  	-webkit-box-align:center;
  	-ms-flex-align: center;
  	align-items:center;	
		
	flex-wrap:wrap;
	
	-webkit-justify-content:center;
	-ms-flex-justify-content:center;
	justify-content:center;
	
	//max-width:1200px;
	margin: 0em auto;
	padding-left:0px;
	padding-right:0px;
}

#contact-access{
	position:relative;
		
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight: 300px;
	font-size: calc(11px + 3 * (100vw - 600px)/1200);
	
	width:calc(100% - 60px);
	
	padding-top:6em;
	padding-bottom: 0em;
	
	//margin-top:4em;
	text-align:center;
}

#contact-message{
	
	font-family: 'Noto Serif JP', serif;
	font-weight:400;
	font-size:0;
	display: inline;	
}

#contact-message span{
	display: inline-block;
	font-size: calc(20px + 5 * (100vw - 600px)/1200);
	line-height:2em;
	letter-spacing: 0.12em;
}

#contact-button-wrapper{
	margin-top:2em;	
}

#contact-button{
  	position: relative;
	
  	text-align    : center;      /* 文字位置   */
  	cursor        : pointer;     /* カーソル   */
    margin:0 auto;
   	max-width: 280px;
	width:80vw;
	
	line-height:80px; 
	height:80px;
	
	display: inline-block;
  	vertical-align: middle;
	
	//background-color:#073E74;
	background-color:rgba(0, 0, 0, 0.15);
	
	border: 1px solid #aaaaaa;
	
	font-size: calc(14px + 3 * (100vw - 600px)/1200);
	
	font-weight:400;
	font-family: 'IBM Plex Sans JP', sans-serif;
}

#contact-button:hover {
	
	background-color:rgba(0, 0, 0, 0.25);
	color:#ffffff;
}

#contact-map{
	position: relative;
	
	//width:calc(100% - 60px);
	width: 100%;
	//background-color: red;
	
	text-align:left;
	margin-top:4em;
}

#contact-map p{

	visibility: hidden;
}

/* Google Mapを囲う要素 */
.google-map {
	position: relative;
	padding-bottom:500px;
	height: 0;
	width: 100%;
	overflow: hidden;
}

/* Google Mapのiframe */
.google-map iframe {
	position: absolute;
  	
	pointer-events:none;
	
	top: 0;
  	left: 0;
  	width: 100% !important;
	height: 100% !important;
	
	-webkit-filter: grayscale(70%) invert(92%) contrast(83%);
 	-moz-filter: grayscale(70%) invert(92%) contrast(83%);
  	-ms-filter: grayscale(70%) invert(92%) contrast(83%);
  	-o-filter: grayscale(70%) invert(92%) contrast(83%);
	filter: grayscale(70%) invert(92%) contrast(83%);
	
}



/* ===========================================
	スマホ対応
=========================================== */


@media(max-width:1000px){
	
	/* Google Mapを囲う要素 */
	.google-map {
	 
	 	//padding-bottom:67%; /* 比率 */
	}
}

@media(max-width:600px){
	
	/* Google Mapを囲う要素 */
	.google-map {
	 
	 	//padding-top:100%; /* 比率 */
	}
}

/* ===========================================
	フッターコンテンツ
=========================================== */

.footer-content{
	position:relative;
	//bottom:0px;
	width:100%;
}

.footer-top{
	position: relative;
	
	width: 100%;
	
	display: -webkit-box;
  	display: -ms-flexbox;
	display: flex; /* 子要素をflexboxで揃える */
	flex-wrap: wrap;	
    justify-content:flex-start;
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
	
	padding-top:1.3em;
	padding-bottom:0.5em;
	
	//border-top: 0.5px solid #666666;
	background-color:rgba(0, 0, 0, 0.15);

}

#footer-address{
	position: relative;
	text-align: left;
	
	line-height:1.75;
	padding-top:20px;
	padding-left:30px;
	
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight:400;
	
	font-size: calc(14px + 5 * (100vw - 600px)/1200);
}

#footer-address h3{
	
	line-height:1;
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight:300;

	font-size: calc(10px + 3 * (100vw - 600px)/1200);
}

#footer-address p{
	padding:0px;
	margin:0px;
	line-height:2;
	
	font-size: calc(14px + 5 * (100vw - 600px)/1200);
}

.footer-bottom{
	position: relative;
	
	width:100%;
	text-align:left;
	
	font-size: calc(8px + 3 * (100vw - 600px)/1200);
	font-weight:300;
	
	background-color:rgba(0, 0, 0, 0.15);
	
	padding-bottom:12px;
	padding-top:1em;
	padding-left:30px;
}

#topback-button{
    position: fixed;
    bottom:1.5vh;
    right:1.5vh;
    opacity:0.5;
	display:none;
	max-width: 60px;
	max-height: 60px;
	min-width: 40px;
	min-height: 40px;
	width:6vw;
	height:6vw;
}

#topback-button img{
    width:100%;
}



/* ===========================================
	クリア
   =========================================== */

.clear {
	clear: both;
}

.clear hr {
	display: none;
}

.clearfix::after {
    content: " ";
    display: block;
    clear: both;
}

.c0clearf:after {
	content: ".";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0px;
	overflow: hidden;
}

.c0clearf {
	min-height: 1px;
}

/* ===========================================
	フロート
   =========================================== */

.floatl{
	float: left;
}

.floatr{
	float: right;
}

/* ===========================================
	ウィズス
   =========================================== */

.width70 {
	width: 70px;
}

.width100 {
	width: 100px;
}

.width200 {
	width: 200px;
}
.width260 {
	width: 260px;
}
.width300 {
	width: 300px;
}


/* ===========================================
	マージン。
   =========================================== */

.ml100{
	margin-left:100px;
}

.ml60{
	margin-left:60px;
}

.ml50{
	margin-left:50px;
}

.ml40{
	margin-left:40px;
}

.ml30{
	margin-left:30px;
}

.ml20{
	margin-left:20px;
}

.mr60{
	margin-right:60px;
}

.mr40{
	margin-right:40px;
}

.mr10{
	margin-right:10px;
}

.mr20{
	
	margin-right:20px;
}


.mt2vh{
	margin-top: 2vh;
}

.mt3vh{
	margin-top: 3vh;
}


.mt80{
	margin-top:80px;
}

.mt60{
	margin-top:60px;
}

.mt50{
	margin-top:50px;
}

.mt40{
	margin-top:40px;
}


.mt40-{
	margin-top:-40px;
}

.mt30{
	
	margin-top:30px;
}

.mt20{
	margin-top:20px;
}

.mt20-{
	margin-top:-20px;
}


.mt10{
	
	margin-top:10px;
}

.mt5{
	margin-top:5px;
}


.mb100{
	
	margin-bottom:100px;
}

.mb80{
	
	margin-bottom:80px;
}
.mb60{
	
	margin-bottom:60px;
}

.mb30{
	
	margin-bottom:30px;
}

.mb40{
	
	margin-bottom:40px;
}

.mb20{
	
	margin-bottom:20px;
}

.mb10{
	margin-bottom:10px;
}



.pt100{
	padding-top:100px;
}

.pt60{
	padding-top:60px;
}




.pt10{
	
	padding-top:10px;
}

.pt5{
	padding-top:5px;
}

.pt20{
	padding-top:20px;
}

.pt80{
	padding-top:80px;
}

.pb10{
	padding-bottom:10px;
}

.pl10{
	padding-left:10px;
}

.pl20{
	padding-left:20px;
}

.pb80{
	padding-bottom:80px;
}

.zeromargin-wordlayout{
	font-size: 0;
	display: inline;
}

.zeromargin-wordlayout span{
	display: inline-block;
	_display: inline;
	font-size: calc(14px + 6 * (100vw - 600px)/1200);
	line-height:3em;
}

/* ===========================================
	汎用記述
   =========================================== */

.w100{
	width:100%;
}


/* ===========================================
	ボーダー
   =========================================== */

.underline{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCC;
}

.border{
	border: 0.5px solid #cccccc;
}


/* ===========================================
	マウス　アクション
   =========================================== */


a {
 	color: #000000;
	text-decoration: none;
	outline: none;
}

/* ===========================================
	リスト表示
   =========================================== */


ul,li{
    margin: 0;
    padding: 0;
    border: 0;
}


/* ===========================================
	メニュー固定用
=========================================== */

.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}

/* ===========================================
	その他
=========================================== */

img{
	margin:0px;
	padding:0px;
}


.bold {
	font-weight: bold;
}

.text-line {
	display: flex;
	align-items: center;
}

.text-line:before,
.text-line:after {
  content: "";
  flex-grow: 1;
  height: 1px; /* 線の太さ */
  background: #073E74; /* 線の色 */
  margin:0 0.5em; /* 文字と線の余白 */
}

/* ===========================================
	仮入力（デフォテキスト）の文字色
=========================================== */

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:#888888;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:#888888;
}
::placeholder{ /* Others */
 color:#888888;
}


/* ===========================================
	スマホでの長押し操作無効
=========================================== */

.protect{
  pointer-events:none;
  -webkit-touch-callout:none;/* Safari、Chromeなど */
  -webkit-user-select:none;/* Safari、Chromeなど */
  -moz-touch-callout:none;
  -moz-user-select:none;
  touch-callout:none;
	user-select: none; /* CSS3 */
	-ms-user-select: none; /* IE10かららしい */
}

/* ===========================================
	マイカラー
=========================================== */

.ryu-red{

	background-color:#ab1e2d !important;
}

.ryu-blue{

	background-color:#123456 !important;
}

.ryu-black{

	background-color:#1F1C1C !important;
}


/* ===========================================
	スマホ対応
=========================================== */


@media(max-width:800px){

	.top-menu-wrapper{
	  //height:333px;
	}
		
	#top-button-wrapper{
		padding-right:20px;
	}
	
	.top-button{
		display: none;
	}
	
	#mail-button{
		display: none;
	}
	
	#top-open-button img{
		display:inline;
	}
	
}


@media(max-width:600px){
	#footer-address{
		padding-left:20px;
		padding-top:0px !important;
		margin-top:0px !important;
		width:400px;
	}
	
	#footer-address span{
		display:block;
	}
}

