@charset "utf-8";

body {
    margin: 0px;
	padding: 0px;
	color: #000;	/*全体の文字色*/
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: 17px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	-webkit-text-size-adjust: none;
}

ul {list-style-type: none;
}


.sp-header{
	width: 100%;
	background-color: #1a4b4c;
	height: 70px;
}

img.spimg{
	margin-top: 0px;
	margin-left: 5px;
}

.contents {
	clear: both;overflow: hidden;
	padding: 50px 0px;	/*上下、左右へのボックス内の余白*/
}

.contents-r {
	clear: both;overflow: hidden;
	padding: 0px 0px;	/*上下、左右へのボックス内の余白*/
}

/*inner共通
---------------------------------------------------------------------------*/
.inner {
	max-width: 1200px;	/*サイトの最大幅　※下の方の「画面幅1200px以上の設定」にも関連するので変更の際は注意して下さい。*/
	margin: 0 auto;
}


/*メイン画像
---------------------------------------------------------------------------*/

.main-box img {
	position: relative;
	width: 100%;
	width: 100%;
	object-fit: cover;
}

.main-logo-img img {
	width: 100%;
	height: 100%;
}

.main-logo-img {
position: absolute;
top: 28% ;
left: 50%;
transform: translate(-50%,-50%);
}


.main-logo-text {
position: absolute;
top: 25% ;
left: 50%;
transform: translate(-50%,-50%);
	font-size: 36px;
	color: #ffffff;
	text-shadow: 5px 2px 5px #000;
}

.text-right {
	text-align: right;
}

html {
    width: 100%;
    height: 100%;
}

h1 {
	font-size: 38px;
}
h2 {
	font-size: 24px;
	text-align: center;
	color: #1a4b4c;
	font-weight: 600;
}

h2.rmi {
	font-size: 33px;
	text-align: center;
	color: #ffffff;
	font-weight: 400;
	letter-spacing: 5px;
}

h3 {
	font-size: 18px;
	color: #898989;
	text-align: center;
	margin-top: -20px;
	font-weight: 400;
}

h3.coupon3 {
	font-size: 15px;
	color: #000;
	text-align: center;
	margin-top: -20px;
}



h4 {
	font-size: 33px;
	text-align: left;
	color: #1a4b4c;
	font-weight: normal;
}

h4.about {
	font-size: 33px;
	text-align: left;
	color: #1a4b4c;
	font-weight: normal;
	margin: 0px 0px 10px 0px;
}

h5 {
	font-size: 24px;
}
h6 {
	font-size: 18px;
}

p {
    margin: 0 0 5px;

}

p.lead {
	font-weight: 100;
}

a {
    color: #000;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
	text-decoration: none;
}


a:hover,
a:focus {
    text-decoration: none;
	color: #483f3a;
}
a.anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}

a.anchor2{
    display: block;
    padding-top: 120px;
    margin-top: -120px;
}

table.t-shop {
	width: 100%;
}

/*フェイドイン
---------------------------------------------------------------------------*/
.css-fade4{
  width:100%;
  height: 100%;
  opacity: 0;
}
.css-fade4--in{
  animation-name:fade-in4;
  animation-duration:2s;
  animation-timing-function: ease-out;
  animation-delay:0;
  animation-iteration-count:1;
  animation-direction:normal;
  animation-fill-mode: forwards;
}
@keyframes fade-in4 {
  0% {opacity: 0; transform: translate3d(0,30px,0);}
  100% {opacity: 1; transform: translate3d(0,0,0);}
}
.css-fade5{
  width:100%;
  height: 100%;
  opacity: 0;
}
.css-fade5--in{
  animation-name:fade-in5;
  animation-duration:2s;
  animation-timing-function: ease-out;
  animation-delay:0;
  animation-iteration-count:1;
  animation-direction:normal;
  animation-fill-mode: forwards;
}
@keyframes fade-in5 {
  0% {opacity: 0; transform: translate3d(0,30px,0);}
  100% {opacity: 1; transform: translate3d(0,0,0);}
}

.css-fade6{
  width:100%;
  height: 100%;
  opacity: 0;
}
.css-fade6--in{
  animation-name:fade-in6;
  animation-duration:2s;
  animation-timing-function: ease-out;
  animation-delay:0;
  animation-iteration-count:1;
  animation-direction:normal;
  animation-fill-mode: forwards;
}
@keyframes fade-in6 {
  0% {opacity: 0; transform: translate3d(0,30px,0);}
  100% {opacity: 1; transform: translate3d(0,0,0);}
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/

#menubar {
	clear: both;
	overflow: hidden;
	font-size: 18px;
	padding-top: 0px;
	margin-top: 0px;
	margin-bottom: 0px;
	z-index: 9999;
}


.menu {
  display: flex;
  align-items: center;
  justify-content: center;
  position: -webkit-sticky;
  position: sticky;
  top: 0px;
	background-color: #1a4b4c;
z-index: 9999;
}

/*メニュー１個あたりの設定*/
#menubar li {
	float: left;	/*左に回り込み*/
	width: 20%;		/*メニュー幅（100÷5個=20%）※下の方の「画面幅1200px以上の設定」にも関連するので変更の際は注意して下さい。*/
}

#menubar li.menu-logo{
	margin-top: 0px;
	margin-right: 170px;
}


#menubar li a {
	display:  block;
	text-decoration: none;
	text-align: center;	/*内容をセンタリング*/
	padding: 0px 0;	/*上下、左右へのボックス内の余白*/
	color: #ffffff;
}


/*１つ目のメニューへの追加設定*/

/*マウスオン時と、現在表示中(current)メニューの設定*/
#menubar li a:hover,
#menubar li.current a {/*背景色*/
	color: #98aeaf;	/*文字色*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}


.menu_sub {
	font-size: 15px;
}

/*画面幅1200px以上の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:1200px){

/*inner共通
---------------------------------------------------------------------------*/
	
.inner {
	width: 1200px;	/*サイト幅*/
}

/*メインメニューとドロップダウンメニューの設定変更。
上の共通設定で、max-widthを1200pxにしており、メニュー数が５個なので、1200÷5=240pxになります。
---------------------------------------------------------------------------*/
#menubar li {
	width: 180px;
	margin-top: 25px;
}

#menubar li:first-child {
	margin-left: -50px;
}

#menubar li:last-child {
	margin-right: -50px;
}
	
}

/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1024px){

/*inner共通
---------------------------------------------------------------------------*/
.inner {
	width: 90%;
}

/*文字サイズ変更ボタン（※文字サイズを「大」にした時の設定はchange.cssで行う）
---------------------------------------------------------------------------*/
/*ボタンブロック全体*/
#fsize {
	display: none;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明度(opacity)0%から透明度100%にする指定。*/
@keyframes menu1 {
0% {opacity: 0;}
100% {opacity: 1;}
}
/*スマホ用メニューを非表示から表示に切り替える*/
#menubar-s {
	top: 57px;
	display: block;
	overflow: hidden;
	position: absolute;
	width: 100%;
	animation-name: menu1;		/*上のkeyframesの名前*/
	animation-duration: 0.5S;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*アニメーションの完了後、最後のキーフレームを維持する*/
    z-index: 9999999;
	padding:  0px; 
	margin: 0px;
	margin-left: 0px;
	padding-left: 0px;
}
/*メニュー１個あたりの設定*/
	
#menubar-s ul {
	width: 100%;
	margin-left: 0px;
	padding-left: 0px;
}
	
#menubar-s li a {
	display: block;
	text-decoration: none;
	padding: 15px ;
	border-bottom: 1px solid #000;
	background: rgba(255,255,255,0.8);
	color: #000;
	font-size: 100%;
}

	
/*PC用メニューを非表示にする*/
#menubar {
	display: none;
}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: absolute;
	top: 10px;	/*上から3%の場所に配置*/
	right: 2%;	/*右から3%の場所に配置*/
	
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: #fff url(../images/icon_menu.png) no-repeat center top/50px;
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: #fff url(../images/icon_menu.png) no-repeat center bottom/50px;
}
}

img.shop-img {
	margin-left: 20px;
}

.menu-text {
	text-align: left;
	font-size: 18px;
	float: left;
}
.menu-fee {
	text-align: right;
	font-size: 18px;
}

/* misc */
hr {
  margin-top: 5px;
}

hr.bold {
  border-top: 2px solid #000;
}


.bg-r{
	background: #1a4b4c;
	color: #ffffff;
}

.bg-footer {
	background: #1a4b4c;
}

.box3 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #2c2c2f;
    background: #cde4ff;/*背景色*/
}
.box3 p {
    margin: 0; 
    padding: 0;
}


.btn-flat-border {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #7b963f;
  border: solid 2px #7b963f;
	background: #fff;
  border-radius: 5px;
  transition: .4s;
	margin: 20px 0;
	font-size: 18px;
}

.btn-flat-border:hover {
  background: #7b963f;
  color: white;
}

.r-title {
  font-size: 24px;
	text-align: center;
}

.r-text {
  font-size: 17px;
}

.service-mi {
  font-size: 21px;
	text-align: center;
	margin: 50px 0px; 
}

.service-title {
	text-align: center;
	font-size: 20px;
	margin: 8px 0px;
	color: #1a4b4c;
}

p.service-text {
	font-size: 17px;
	text-align: left;
}

/* ===========================
--- Footer
============================ */


table.t-footer td{
	padding: 20px;
	color: #ffffff;
	font-size: 15px;
	line-height: 1.5;
}

.tel-box {
	width: 400px;
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    border: solid 1px #ffffff;
}

.tel-box p {
    text-align: center;
}

a.tel-t{
    font-size: 25px;
	color: #ffffff;
}

.pc { display: block !important; }
.sp { display: none !important; }

.cr-text{
    font-size: 12px;
	color: #ffffff;
}

.nagare-title{
    font-size: 19px;
	color: #1a4b4c;
	font-weight: 600;
}

.nagare-step{
	background-color: #1a4b4c;
    padding: 1px 10px;
	color: #FFFFFF;
}

.triangle{
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #1a4b4c;
	margin-top: 5px;
}

table.t-nagare td{
	padding: 10px;
}

table.c_tel_t td{
	padding: 10px;
}

@media only screen and (max-width: 1024px) {
.pc { display: none !important; }
.sp { display: block !important; }

body {
	font-size: 13px;
	line-height: 1.7;
}
	
.main-img{
	position: relative;
	object-fit: cover;
	margin-top: 0px;
}
	
	
.main-box img {
	position: relative;
	width: 100%;
	height: 350px;
	object-fit: cover;
	margin-top: 0px;
}
	
.contents {
	padding: 15px 0px;	/*上下、左右へのボックス内の余白*/
}

.main-logo-text {
position: absolute;
top: 50% ;
left: 50%;
transform: translate(-50%,-50%);
	font-size: 22px;
	color: #ffffff;
	text-shadow: 5px 2px 5px #000;
}
	
a.anchor{
    display: block;
    padding-top: 0px;
    margin-top: 0px;
}
	
h1 {
	font-size: 22px;
}
h2 {
	font-size: 22px;
	text-align: center;
}

h2.rmi {
	font-size: 18px;
	text-align: center;
	color: #ffffff;
	font-weight: 400;
	letter-spacing: 5px;
}
	
h3 {
	font-size: 15px;
}
	
h4 {
	font-size: 15px;
}

h4.about {
	font-size: 18px;
	text-align: left;
	color: #1a4b4c;
	font-weight: normal;
	margin: 0px 0px 10px 0px;
}
	
.r-title {
  font-size: 18px;
	text-align: center;
}

.r-text {
  font-size: 13px;
}

.service-mi {
  font-size: 15px;
	text-align: center;
	margin: 50px 0px; 
}

.service-title {
	text-align: center;
	font-size: 20px;
	margin: 8px 0px;
	color: #1a4b4c;
}

p.service-text {
	font-size: 13px;
	text-align: left;
}
	
table.t-shop td {
	display: block;
	width: 100%;
}
table.t-shop {
	width: 100%;
}

table.t-shop img {
	width: 100%;
}
	
.service-title {
	text-align: center;
	font-size: 15px;
}
	
.menu-text {
	text-align: left;
	font-size: 13px;
	float: left;
}
.menu-fee {
	text-align: right;
	font-size: 13px;
}
	
.btn-flat-border {
  display: inline-block;
  padding: 0.1em 1em;
	margin: 20px 0;
	font-size: 13px;
}

.coupon1 {
    font-size: 15px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"
}

.coupon2 {
    font-size: 28px;
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif"
}

table.t-nagare td{
	display: block;
	padding: 0px;
}
	
.nagare-title{
    font-size: 15px;
	color: #1a4b4c;
	font-weight: 600;
}
	
table.t-footer {
	width: 100%;
}
	
table.t-footer td {
	display: block;
	padding: 10px 0px;
}
.tel-box {
	width: 100%;
    padding: 0.5em 1em;
    margin: 0em 0;
    font-weight: bold;
    border: solid 1px #ffffff;
}
.cr-text{
    font-size: 10px;
	color: #ffffff;
}
table.c_tel_t td{
	display: block;
	padding: 10px;
}
table.c_tel_t img{
	width: 100%;
}
}

