@charset "utf-8";
/*
Theme Name: 屋久島葬祭
*/

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
line-height:1.5;
font-family: 'Noto Sans JP',
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
color:#333;
letter-spacing: 0.05em;
-webkit-text-size-adjust: none;
}

img{max-width:100%;height:auto;}

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

@media only screen and (max-width:1024px){
body {font-size: 90%;}
.pc{display:none;}
.sp{display:block;}
}

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

.none {
  display: none!important;
}


/* リンク設定
------------------------------------------------------------*/
a{
  margin:0;
  padding:0;
  text-decoration:underline;
  outline:0;
  vertical-align:baseline;
  background:transparent;
  font-size:100%;
  color: #000;
}

a:hover, a:active{
  -webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
  outline: none;
  text-decoration:none;
  color: #566981;
}


/**** Clearfix ****/
.nav .panel:before,nav .panel:after, nav#mainNav:before,nav#mainNav:after, .newsTitle:before,.newsTitle:after{content: ""; display: table;}
nav .panel:after,nav#mainNav:after,.newsTitle:after{clear: both;}
nav .panel,nav#mainNav,.newsTitle{zoom: 1;}


/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea,select,input[type="email"]{
  vertical-align:middle;
  max-width:90%;
  line-height:30px;
  height:30px;
  padding:1px 5px;
  border:1px solid #d4d4d7;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  font-size:100%;
  color:#555;
  background:#fcfcfc;
}

textarea{
  height:auto;
  line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
  padding:3px 10px;
  background: #5a0000;
  background: -moz-linear-gradient(top, #781f12 0%, #5a0000 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#781f12), color-stop(100%,#5a0000));
  background: -webkit-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: -o-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: -ms-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: linear-gradient(to bottom, #781f12 0%,#5a0000 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#781f12', endColorstr='#5a0000',GradientType=0 );
  border:0;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  line-height:1.5;
  font-size:100%;
  color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
  background: #5a0000;
  background: -moz-linear-gradient(top, #5a0000 0%, #781f12 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5a0000), color-stop(100%,#781f12));
  background: -webkit-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: -o-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: -ms-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: linear-gradient(to bottom, #5a0000 0%,#781f12 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5a0000', endColorstr='#781f12',GradientType=0 );
}

*:first-child+html input[type="submit"]{padding:3px;}




/* レイアウト
------------------------------------------------------------*/
#wrapper{
  width:calc(100% - 200px);
  background: #FFFAEB;
  margin-left:200px;
  overflow: hidden;
}

@media screen and (max-width: 1024px), screen and (max-height: 550px){
  #wrapper{width:auto;margin-top:56px;margin-left:0;}
}

.inner{
  margin:0 auto;
  width:1000px;
}

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

#header{overflow:hidden;}

#top-content{}

#content-sub{padding-top: 120px;}

#footer {
  clear: both;
  background:#566981;
  color:#fff;
}


@media only screen and (max-width:1350px){
  .inner{
    width:auto;
    padding:0 50px;
  }
}
@media only screen and (max-width: 1000px){
  .inner{padding:0 20px;}
}


/* ヘッダー
*****************************************************/

/* ロゴ (サイトタイトル)
----------------------------------*/
.logo{text-align: center;}
.logo .pc-logo{}
.logo .sp-logo{display: none;}
@media only screen and (max-width: 1024px),screen and (max-height: 550px){
  .logo .pc-logo{display: none;}
  .logo .sp-logo{display: block;}
  .logo .sp-logo img {
    margin-top: 5px;
  }
}

.bg-bluegray {
  background: #566981;
  padding: 10px 0;
}

.bg-bluegray h1{text-align:center;}


/*パンくず*/
.crumbs {
  font-size: 95%;
  margin-top: 30px;
}

.crumbs ul{width:1000px;margin:0 auto;}

.crumbs li{
  display: inline-block;
}
.crumbs li::after{
  content:'›';
  padding:0 7px;
  color: #666;
}
.crumbs li:last-child::after{display: none;}
@media only screen and (max-width: 1000px){
  .crumbs ul{width: auto;}
}


/* メインメニュー
------------------------------------------------------------*/
.header-inner{}

#top-head {
  top: 0px;
  left:0;
  position: fixed;
  width: 200px;
  min-height:100%;
  margin: 0;
  /* padding-top: 30px; */
  padding-bottom:20px;
  z-index: 999;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
}
#top-head a{
  text-decoration: none;
  display: block;
}
#top-head .inner {
  position: relative;
}

#global-nav ul.bg-white {
  background: #fff;
  width: 85%;
  margin: 10px auto;
  padding: 2px 0;
  border-radius: 5px;
}

#global-nav ul {
  list-style: none;
  font-size: 16px;
  margin: 0;
}
#global-nav ul li {
  padding: 0 10px;
  margin: 5px 0;
}
#global-nav ul li a {
  display: block;
  text-align: center;
  padding: 5px 0px;
  position: relative;
  line-height: 1.2em;
  font-size: 90%;
  letter-spacing: 2px;
  border-radius: 5px;
}

#global-nav li a:hover{
  background: #ED83A7;
  color: #fff;
}

/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}
#nav-toggle div {
  position: relative;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #fff;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 11px;
}
#nav-toggle span:nth-child(3) {
  top: 22px;
}

@media only screen and (max-height: 770px){
  #top-head #global-nav ul li{margin-bottom: 0;}
  #top-head #global-nav ul li a{font-size: 90%;padding:7px 0;}
  #global-nav li a span{margin-top:0;}
}

@media screen and (max-width: 1024px),screen and (max-height: 550px) {
.header-inner{padding:0;}

#top-head {
  top: 0;
  position: fixed;
  margin-top: 0;
  width: 100%;
  padding-top: 0;
  padding-bottom:0;
  background: #fff;
  min-height: inherit;
}
/* Fixed reset */
#top-head.fixed {
  padding-top: 0;
  /*background: transparent;*/
}
#mobile-head {
  width: 100%;
  height: 56px;
  z-index: 999;
  position: relative;
  background:#566981;
}
#top-head.fixed .logo,
#top-head .logo {
  position: absolute;
  left: 13px;
  top: 0px;
  color: #333;
  font-size: 26px;
  width:160px;
}
#global-nav {
  position: absolute;
  /* 開いてないときは画面外に配置 */
  top: -500px;
  background: #fff;
  width: 100%;
  text-align: center;
  padding: 0 0 10px;
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}
#global-nav ul {
  list-style: none;
  position: static;
  right: 0;
  bottom: 0;
}
#global-nav ul li {
  float: none;
  position: static;
  margin-bottom: 0;
}
#top-head #global-nav ul li a,
#top-head.fixed #global-nav ul li a {
  width: 100%;
  display: block;
  color: #000;
  padding: 10px 0;
}
#global-nav ul li br{display: none;}
#nav-toggle {
  display: block;
}
/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
  top: 11px;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 11px;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg);
}
/* #global-nav スライドアニメーション */
.open #global-nav {
  /* #global-nav top + #mobile-head height */
  -moz-transform: translateY(556px);
  -webkit-transform: translateY(556px);
  transform: translateY(556px);
}
}
/*メニューここまで*/
@media screen and (min-width: 901px) {
.sp-none{display:none;}
}


/* ナビ下バナーエリア */
.left-inner {
  padding: 0 10px;
  margin: 10px 0;
  text-align: center;
}

.left-contact .txt {
  font-size: 70%;
  text-align: center;
}

.left-contact p {
  margin: 5px 0;
}

@media screen and (max-height: 800px){
  .left-bnr-area p{width:60%;text-align:center;margin: 0 auto;}
}

/* 電話番号 */
.tel_num {
  font-weight: bold;
  font-family: helvetica;
  display: flex;
  align-items: center;
  color: #961c12;
  letter-spacing: 0;
}

.tel_num::before {
  content: "";
  background: url(images/icon-tel.svg) no-repeat left center;
}

.left-contact .tel_num{
  font-size: 150%;
}

.left-contact .tel_num::before {
  width: 23px;
  height: 23px;
  margin-right: 5px;
}

@media screen and (max-width: 1024px){
  .left-contact .tel_num {
    justify-content: center;
  }
}


/* タイポグラフィ
*****************************************************/
.subpage p{
  line-height: 2;
  margin-bottom: 20px;
}

.margin-b10 {
  margin-bottom: 10px!important;
}

img.aligncenter {
  display: block;
  margin:5px auto;
}

img.alignright, img.alignleft{
  padding:4px;
  margin:0 0 2px 7px;
  display:inline;
}

img.alignleft{margin: 0 7px 2px 0;}

.alignright{float:right;}
.alignleft{float: left;}
.center{text-align:center;}


/* サイドバー　ウィジェット
*****************************************************/

#searchform input[type="text"]{
  line-height:1.7;
  height:24px;
  width:130px;
  vertical-align:bottom;
}

#sidebar .newsTitle h3 {
  font-size: 120%;
  font-weight: bold;
  letter-spacing: 1px;
  padding-bottom: 5px;
  border-bottom: 1px solid #000;
  margin-top: 7px;
}

.side_news_box {
  border-bottom: 1px dashed #000;
  padding: 10px 0;
}

#sidebar time {
  display: block;
}

#sidebar .btn-black {
  text-align: center;
  margin: 30px 0;
}


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

#footer .inner{
  margin-top: 50px;
  padding-top: 40px;
  display: flex;
  gap: 40px;
}
#footer .inner:after{display:none;}

.footer-info{
  display: inline-block;
  margin-bottom: 20px;
}

.footer-info p {
  font-size: 85%;
}
.footer-logo{margin-bottom: 10px;}

.footer-menu{
  display:flex;
  gap:30px;
  font-size: 90%;
  margin-bottom: 30px;
}
.footer-menu ul{
  display: inline-block;
  vertical-align: top;
  margin-bottom: 20px;
  width: 33%;
}
.footer-menu ul:nth-child(2),
.footer-menu ul:last-child{
  margin-right: 0;
}
.footer-menu li{
  margin-bottom: 10px;
  font-size: 110%;
}
.footer-menu li a{
  color:#fff;
}

.footer-menu ul li ul {
  display: block;
  margin-left: 20px;
  margin-top: 10px;
  width:auto;
}

.footer-menu ul li ul li {
  font-size: 90%;
}

.f-submenu {
  text-align: center;
}

.f-submenu ul li{
  display:inline-block;
}

.f-submenu ul li a{color:#fff;}

#copyright{
  clear:both;
  padding:5px;
  text-align:center;
  font-style:normal;
  font-size:85%;
  zoom:1;
}

@media screen and (max-width: 1250px){
  #footer .inner{display:block;}
  .footer-info {
    display: block;
    text-align: center;
  }
  .footer-menu {
    margin: 0 auto 30px;
  }
}

@media only screen and (max-width: 700px){
  .footer-menu{width:auto;display:block;}
  .footer-menu ul {display: block;}
}


/*上に戻る*/
.page_top {
	position:fixed;
	bottom:10px;
	right:10px;
	padding:10px 20px;
	color:#fff;
	font-size:20px;
	text-decoration:none;

}
.page_top:hover {
	opacity:0.5;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
  clear:both;
  width: 100%;
  height: 30px;
  margin: 50px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
  clear:both;
  color:#5a0000;
  text-align:center;
}


/* トップページ
------------------------------------------------------------*/
/* 共通 */
.layout-half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 40px;
}

.half-box{
  /* padding: 5%; */
  border-radius: 5px;
  margin-bottom: 20px;
}

.half-box .inner-box {
  padding: 20px;
}

.bg-white {background: #fff;}
.bg-pink {background: #FDEFF6;}
.bg-blue {background: #EDF3FA;}

#top-content h2 {
  text-align: center;
  font-size: 220%;
  font-weight: bold;
  letter-spacing: 6px;
  margin-bottom: 20px;
}

.btn-black {
  text-align: center;
}

.btn-black a {
  background: #000;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  padding: 10px 40px;
  border:1px solid #000;
  transition:0.3s;
}

.btn-black a:hover{
  background: #fff;
  color: #000;
}

@media only screen and (max-width:800px){
  .layout-half{display:block;}
}

@media screen and (max-width: 700px){
  #top-content h2 {
    background-size: 28%!important;
  }
}

/* お悔やみ情報 */
#top-okuyami{
  margin:50px auto;
}

#top-okuyami div {
  margin-bottom: 20px;
}
.okuyami-umekomi{background:#fff;padding-bottom:20px;}

/* FAX・メール */
.top-fax-mail{font-weight: bold; font-size: 150%;  background:url(images/fax_mail_bg.jpg) no-repeat; background-size: contain;border-radius: 0; width:491px; height: 121px; color: #fff;display: flex; align-items: center;justify-content: center;text-align: center;}
.top-fax-mail span{text-shadow: #000 5px 2px 5px;}
.top-fax-mail a{color: #fff; background: #ff0000; border-radius: 3px; padding: 1% 8%;font-size: 70%;text-decoration: none;margin: 0 10px; box-shadow: 3px 3px 3px black;}
.top-fax-mail a:hover{background: #690000;}

@media only screen and (max-width: 1350px) {
.top-fax-mail{ width: auto; height: auto;}
}

@media only screen and (max-width: 800px) {
  .top-fax-mail{background-size: cover; display: block;padding: 5% 0;}
  }

/* 屋久島にある12ヶ所の斎場 */
#top-saijou {
  padding-bottom: 50px;
}

#top-saijou h2 {
  background:url(images/left-gold-line.svg) no-repeat left center / 215px,url(images/right-gold-line.svg) no-repeat right center / 215px;
}

#top-saijou h2 + p {
  text-align: center;
  font-size: 130%;
  letter-spacing: 5px;
}

.saijou-map-container {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 20px 40px;
  margin-top: 40px;
  margin-bottom: 40px;
  align-items: center;
}

#top-saijou ol{
  padding:0;
  margin:0 0 10px 0;
  list-style:none;
  counter-reset:circle-number;/* 任意の名前*/
}

#top-saijou ol.num6{
  counter-reset: circle-number 7;
}

#top-saijou ol li {
  line-height: 2;
  margin-bottom: 0.8em;
  margin-left: 2.3em;
}
#top-saijou ol li:before {
  counter-increment: circle-number; /* 任意の名前を付ける（もちろん英語で） */
  content: counter(circle-number); /* 名前を付けたカウンターをcontentで発動！ */
  background:#566981;
  color:#fff;
  border-radius: 50%;
  border:1px solid #eee;
  width: 2em;
  height: 2em;
  text-align: center;
  display: inline-block;
  margin-right: .3em;
  margin-left:-2.3em;
}

.saijou-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.saijou-box {
  width: 31%;
  background: #fff;
  border-radius: 10px;
  box-shadow: 2px 2px 6px rgb(0 0 0 / 30%);
  text-align: center;
  padding: 20px 0;
  margin-bottom: 30px;
}

.saijou-box.img{padding-top:0;}

.saijou-box img{
  border-radius: 10px 10px 0 0;
  margin-bottom: 10px;
}

.saijou-box h3 {
  font-size: 120%;
  font-weight: bold;
  letter-spacing: 3px;
  margin-bottom: 10px;
}

.saijou-box.img h3{font-size: 140%;}

.saijou-box p {
  letter-spacing: 3px;
  margin-bottom: 10px;
}

.saijou-box p.people span {
  background: #FFD1E0;
  padding: 3px 5px;
  font-size: 95%;
  margin-right: 10px;
}

.saijou-box p.small {
  font-size: 80%;
  letter-spacing: 1px;
}

@media screen and (max-width: 1200px){
  .saijou-map-container{
    align-items:start;
  }
}

@media screen and (max-width: 700px){
  .saijou-container {
    justify-content: space-around;
  }
  .saijou-box{
    width: 47%;
  }
}

@media screen and (max-width: 600px){
  #top-saijou h2 {
    font-size: 200%;
    background-size: 20%!important;
  }
  .saijou-map-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .saijou-map {
    text-align: center;
  }
  .saijou-list {
    width: 250px;
  }
}

/* オプションバナーエリア */
.sousai-option {
  padding: 50px 0 20px;
}

.sousai-option2{
  padding-top:0;
  padding-bottom:50px;
}

.sousai-option a{
  text-decoration: none;
  transition:0.5s;
  border-radius: 5px;
}

.sousai-option2 .bnr-box{
  background:#fff;
}

.sousai-option a:hover {
  background: #dde5f1;
  color: #000;
}

.bnr-box {
  display: flex;
  align-items: center;
  padding: 3%;
  border: 2px solid #566981;
  margin-bottom: 0;
}

.bnr-img {
  width: 32%;
  margin-right: 30px;
}

.bnr-img img {
  border-radius: 10px;
}

.bnr-txt {
  width: 60%;
}

.bnr-txt h3 {
  font-size: 140%;
  font-weight: bold;
  letter-spacing: 3px;
  margin-bottom: 10px;
}

.bnr-txt p {
  font-size: 78%;
}

@media screen and (max-width: 800px){
  .bnr-box{margin-bottom: 20px;}
}

/* 山野生花店 */
#top-seikaten {
  padding: 70px 0;
  background-color: #FDEFF6;
  background-image: url(images/bg-right-flower.png), url(images/bg-left-flower.png), url(images/flower.svg);
  background-size: 40%, 40%, 10%;
  background-position: right top, left bottom, 10% 8%;
  background-repeat: no-repeat, no-repeat, no-repeat;
}

#top-seikaten h2{
  background:url(images/left-pink-line.svg) no-repeat left center / 215px,url(images/right-pink-line.svg) no-repeat right center / 215px;
}

#top-seikaten h2 span.en {
  display: block;
  font-size: 35%;
  letter-spacing: 2px;
  color: #D36161;
}

#top-seikaten h3 {
  text-align: center;
  font-weight: bold;
  font-size: 160%;
  letter-spacing: 5px;
  margin-bottom: 30px;
}

#top-seikaten h3 + p{
  text-align: center;
  margin-bottom: 70px;
  font-size: 90%;
}

#top-seikaten h4 {
  font-size: 130%;
  font-weight: bold;
  letter-spacing: 5px;
  color: #AF447D;
  margin-bottom: 20px;
}

#top-seikaten p {
  font-size: 90%;
  margin-bottom: 20px;
}

#top-seikaten ul{
  margin-bottom:10px;
  margin-left:0px;
  padding:0;
  border-radius:10px;
  padding:10px 10px;
  }

#top-seikaten ul li{
  position: relative;
  list-style:none;
  padding-bottom:5px;
  margin-left:1em;
  font-size: 90%;
}

#top-seikaten ul li:after{
  display: block;
  content: '';
  position: absolute;
  top: .4em;
  left: -1em;
  width: 0.7em;
  height: 0.7em;
  background-color: #C675A0;
  border-radius: 150%;
}

.mbn-seikatcontact {
  background: #CB82A9;
  padding: 20px;
  display: grid;
  grid-template-columns: 1fr 1.7fr;
  gap: 20px 30px;
  align-items: center;
  margin: 40px 0 70px;
}

.mbn-seikatcontact .ttl {
  text-align: center;
  font-weight: bold;
  color: #fff;
  letter-spacing: 5px;
  font-size: 170%;
}

.btn-container {
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  align-items: center;
}

.btn-container a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  background: #CB82A9;
  color: #fff;
  text-decoration: none;
  padding: 12px 30px;
  font-size: 130%;
  font-weight: bold;
  letter-spacing: 3px;
  margin-bottom: 10px;
}

.btn-container a::after {
  content: "";
  display: block;
  background: url(images/arrow-btn-pinkcircle.svg) no-repeat 90% center / 28px;
  width: 10%;
  height: 28px;
}

#top-seikaten .btn-container p {
  width: 50%;
  margin-bottom:0;
}

#top-seikaten p.tel_num2 {
  font-weight: bold;
  font-family: helvetica;
  font-size: 190%;
}

@media screen and (max-width: 800px){
  .mbn-seikatcontact {
    display: block;
  }
  .mbn-seikatcontact .ttl {
    margin-bottom: 20px;
  }
  .btn-container a {
    width: 86%;
    font-size: 110%;
  }
  #top-seikaten .btn-container p {
    width: auto;
  }
  #top-seikaten .layout-half .half-box img {
    width: 100%;
  }
}

@media screen and (max-width: 600px){
  .btn-container {
    display: block;
  }
  .btn-container a {
    width: 94%;
    font-size: 110%;
    margin: 0 auto;
    padding: 10px 10px;
    justify-content: center;
  }
}

/* 関連事業 */
#top-related_business {
  padding: 70px 0;
}

#top-related_business h2 {
  background: url(images/left-blue-line.svg) no-repeat left center / 215px,url(images/right-blue-line.svg) no-repeat right center / 215px;
  margin-bottom: 40px;
}

#top-related_business h2 span.en {
  display: block;
  font-size: 35%;
  letter-spacing: 2px;
  color: #3A77BE;
}

#top-related_business p {
  font-size: 80%;
  text-align: center;
  margin-bottom: 10px;
}

@media screen and (max-width: 800px){
  #top-related_business p {
    font-size: 100%;
  }
}

/* お問い合わせバナー */
.mbn-allcontact {
  margin: 100px auto;
}

.mbn-contact-container {
  background: #3A77BE;
  padding: 20px;
}

.mbn-contact-container h3 {
  text-align: center;
  color: #fff;
  font-size: 150%;
  font-weight: bold;
  letter-spacing: 5px;
  margin-bottom: 10px;
}

.mbn-contact-container .layout-half {
  background: #fff;
  text-align: center;
}

.mbn-contact-container .layout-half .half-box {
  margin-bottom: 0;
  padding: 10px 0;
}

.mbn-contact-container .layout-half .half-box p {
  font-size: 90%;
}

.mbn-contact-container .layout-half .half-box .tel_num {
  font-size: 300%;
  line-height: 1em;
  justify-content: center;
}

.mbn-contact-container .layout-half .half-box .tel_num::before {
  width: 41px;
  height: 41px;
  margin-right: 5px;
  background-size: 41px;
}

.mbn-contact-container .layout-half .half-box a{
  text-decoration: none;
}

.mbn-contact-container .layout-half .half-box .btn-contact {
  background: #3A77BE;
  margin: 0 10px;
  color: #fff;
  padding: 10px 0;
  transition: 0.5s;
}

.mbn-contact-container .layout-half .half-box .btn-contact:hover{
  opacity:0.7;
}

.mbn-contact-container .layout-half .half-box .btn-contact p.icon-arrow {
  font-size: 120%;
  font-weight: bold;
  letter-spacing: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mbn-contact-container .layout-half .half-box .btn-contact p.icon-arrow::after{
  content: "";
  background: url(images/arrow-btn-circle.svg) no-repeat right center;
  width: 23px;
  height: 23px;
  margin-left: 5px;
  background-size: 23px;
}

@media screen and (max-width: 500px){
  .mbn-contact-container .layout-half .half-box .tel_num {
    font-size: 250%;
  }
}

/* 新着情報 */
#top-news h2 span.en {
  display: block;
  font-size: 35%;
  letter-spacing: 2px;
  color: #3A77BE;
}

#top-news .news-box {
  background: #fff;
  border-radius: 10px;
  padding: 5% 10%;
}

#top-news .news-box-txt {
  display: grid;
  grid-template-columns: 1fr 4fr;
  margin-bottom: 15px;
}

#top-news .news-box-txt:nth-child(3) {
  margin-bottom: 50px;
}


/* サブページ
------------------------------------------------------------*/
.mincho{font-family: "Noto Serif JP", serif;}
.mincho strong{font-weight:bold;}

/*見出し*/
.page-title{
  margin-top:85px;
  text-align:center;
  font-size:230%;
  font-weight:bold;
  letter-spacing:0.2em;
  margin-bottom:50px;
}

.subpage h3{
  font-size:190%;
  letter-spacing:0.2em;
  font-weight:bold;
  text-align:center;
  background:#fff;
  border-top:2px solid #C1A13A;
  padding:10px;
  margin-bottom:20px;
}

.subpage h4{
  border-radius:10px;
  background:#EBE2C3;
  padding:10px 15px;
  font-weight:bold;
  font-size:160%;
  margin-bottom:20px;
}

.subpage h5{
  border-left:5px solid #F06997;
  color:#F06997;
  font-weight:bold;
  font-size:130%;
  margin-bottom:10px;
  padding-left:20px;
}

/*リスト*/

.subpage ul li{
  position: relative;
  list-style:none;
  padding-bottom:5px;
  margin-left:1em;
}
.subpage ul li:after{
  display: block;
  content: '';
  position: absolute;
  top: .4em;
  left: -1em;
  width: 0.8em;
  height: 0.8em;
  background-color: #F06997;
  border-radius: 150%;
}

.subpage ul li ul{
  border:none;
  padding:0;
}

.subpage ul li ul li{
  margin-top:5px;
  padding-bottom:0px;
}

.subpage ul{
  margin-bottom:10px;
  margin-left:0px;
  padding:0;
  border-radius:20px;
}

.subpage ol{
padding:0;
margin:0 0 20px 0;
list-style:none;
counter-reset:circle-number;/* 任意の名前*/
}
.subpage  ol li{
  line-height: 1.5;
  margin-bottom: 0.4em;
  margin-left: 1.8em;
}
.subpage ol li:before {
counter-increment: circle-number; /* 任意の名前を付ける（もちろん英語で） */
content: counter(circle-number); /* 名前を付けたカウンターをcontentで発動！ */
background:#566981;
color:#fff;
border-radius: 50%;
width: 1.5em;
height: 1.5em;
text-align: center;
display: inline-block;
margin-right: 0.3em;
margin-left: -1.8em;
}

/*テーブル*/

.subpage table{
  margin-bottom:15px;
  border-collapse:collapse;
}
.subpage table thead{border:none;}
.subpage table th{
  background:#566981;
  color:#fff;
  padding:10px;
  vertical-align:top;
  text-align:left;
  border:1px solid #d9d9d9;
  border-collapse:collapse;
}
.subpage table td{
  padding:10px;
  vertical-align:top;
  border:1px solid #d9d9d9;
  background:#fff;
  border-collapse:collapse;
}
.subpage .left-color td:first-child{
  background:#EFF3F5;
}

/*ページ送り*/

.tablenav {
	color: #424242;
	margin: 1em auto;
	line-height:2em;
	text-align:center;
}

a.page-numbers, .tablenav .current {
	color: #424242;
	padding: 2px 7px;
	border:solid 1px #ccc;
	text-decoration:none;
	font-size:110%;
	background:#fff;
}

a.page-numbers:hover {
	color:white;
	background: #7b35a8;
}

.tablenav .current {
	color: white;
	background: #7b35a8;
	border-color: #7b35a8;
	font-weight:bold:
}

.tablenav .next, .tablenav .prev {
	border:0 none;
	background:transparent;
	text-decoration:underline;
	font-size:90%;
	font-weight:bold;
}

/*アーカイブ*/
.archive-box{
  border:1px solid #ccc;
  background:#fff;
  padding:15px;
  margin-bottom:10px;
  border-radius:10px;
}
.archive-box:after {content: "";clear: both;display: block;}
.archive-img{
  width:30%;
  float:right;
}
.archive-excerpt{
  width:65%;
  float:left;
}

.archive-excerpt .btn-more{margin-top:20px;}

.archive-link{
  background: #e5e5e5;
  font-weight: bold;
  letter-spacing: 2px;
  padding: 5px 10px;
  font-size: 138.5%;
  border: none;
  border-radius: 5px;
}

.archive-link a{
  text-decoration:underline;
}

.archive-link a:hover{
  text-decoration:none;
}
.archive-time{text-align:right;}

@media only screen and (max-width:600px){
  .archive-img,.archive-excerpt{float:none;width:auto;}
}

.dateLabel{text-align:right;}

.btn-more{text-align:right;}
.btn-more a{
  display:inline-block;
  padding:5px 10px;
  border-radius:5px;
  background:#eee;
}

/*メールフォーム*/
.mw_wp_form{
  max-width:800px;
  margin:0 auto 30px auto;
  background:#fff;
  padding:20px;
}
.mw_wp_form em {
  display: inline-block;
  background: #cd4d4d;
  border-radius: 5px;
  padding: 0 10px;
  margin-left: 10px;
  color: #fff;
  font-weight: normal;
  font-size: 90%;
}
.p-country-name{display:none;}


/*サイトマップ*/
.sitemap-list li{
	margin-top:10px;
	background:url(images/sitemap-list-arrow.png) no-repeat 0 5px;
	padding-left:20px;
	font-size:120%;
	border-bottom:1px dotted #ccc;
	padding-bottom:10px;
}
.sitemap-list li ul li{
	margin-top:5px;
	padding-bottom:5px;
	padding-left:15px;
	background:url(images/sitemap-list-child-arrow.png) no-repeat 0 3px;
	font-size:90%;
	border-bottom:none;
}
.sitemap-list li ul li ul li{
	border-bottom:none;
	background:url(images/sitemap-list-grandchild-arrow.png) no-repeat 0 3px;
}


/*404ページ*/
.not_found {
  text-align: center;
  font-size: 600%;
  line-height: 0.8em;
  color: #109548;
  font-weight: bold;
}
.not_found span {
  font-size: 50%;
  display: block;
  letter-spacing: 0.1em;
  color: #000;
  font-weight: normal;
}

/*会員専用*/
.subpage .bnr-txt h3 {
  font-size: 140%;
  font-weight: bold;
  letter-spacing: 3px;
  margin-bottom: 10px;
  border-top:none;
}



/*斎場案内*/
.subpage .wp-block-table{
  display: flex;
    flex-direction: column-reverse;
}
.subpage .wp-block-table .wp-element-caption{
  background:#566981;
  color:#fff;
  text-align:center;
  padding:5px;
}

.sub-saijo .btn-black a{
  border-radius:0;
  padding:10px 20px;
  font-size:100%;
}

.subpage .sub-mainimg{
  text-align:center;
  margin:0;
  line-height:0;
}
.small-funeral-menu{
  background:#3DAFBE;
  padding:20px;
  margin-bottom:70px;
}
.small-funeral-menu .inner{
  margin: 0 auto;
  text-align:center;
}

.small-funeral-menu li{
  display:inline-block;
  vertical-align: middle;
  margin-left:1em;
}
#small-funeral .small-funeral-menu li::after{display:none;}
#small-funeral .small-funeral-menu li::before{
  content:'/';
  display:inline-block;
  vertical-align: top;
  margin-right:1em;
  color:#fff;
}
#small-funeral .small-funeral-menu li a{
  color:#fff;
  text-decoration:none;
  font-size:120%;
  font-weight:bold;
}
#small-funeral .small-funeral-menu li:first-child::before{
  display:none;
}

#small-funeral h2{
  font-family: "Noto Serif JP", serif;
  text-align:center;
  font-size:200%;
  font-weight:bold;
  letter-spacing:0.1em;
  margin-bottom:50px;
}
#small-funeral h2::before{
  content:'';
  width:112px;
  height:7px;
  background:#3DAFBE;
  display:block;
  margin:0 auto 20px auto;
}
#small-funeral h3{
  border:none;
  border-radius:10px;
  background:#D3E9EB;
  padding:10px 20px;
  margin-bottom:20px;
  font-size:160%;
  text-align:left;
}

.blueline-box{
  border:1px solid #3DAFBE;
  background:#fff;
  padding:25px 30px;
  margin-bottom:20px;
  border-radius:10px;
}
.subpage .small-funeral-plan-price{
  border-top:1px dashed #707070;
  font-size:130% !important;
  font-weight:bold;
  color:#AF0000;
  margin-top:10px;
}
.small-funeral-plan-price em{
  font-size:150%;
}

.inline-list li{
  display:inline-block;
  min-width:10em;
  margin-bottom:5px;
}

.btn-blueline a{
  border:1px solid #3DAFBE;
  border-radius:10px;
  padding:20px;
  background:#fff;
  color:#3DAFBE;
}
.btn-blueline a:hover{
  background:#3DAFBE;
  color:#fff;
}
.telno{
  color:#961c12;
  font-weight:bold;
}
.telno::before{
  content: "";
  background: url(images/icon-tel.svg) no-repeat left center;
  background-size:auto 100%;
  width:1.2em;
  height:1em;
  display: inline-block;
  vertical-align: middle;
}

/*葬儀保険*/
#wrapper .sougihiyourei .wp-element-caption{
  background:none;
  color:#000;
  position:static;
}
.subpage .sougihoken-point-container{
  align-items: stretch;
  margin-bottom:20px;
}
.subpage .sougihoken-point-container strong{
  font-weight:bold;
}
.sougihoken-point{
  background:#EBE2C3;
  display:flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  padding:20px;
}
.sougihoken-point .has-medium-font-size{
  font-size:150% !important;
}
.subpage .maru-number{margin-bottom:10px;}
.maru-number em{
  font-size:130%;
  display:inline-block;
  background:#D5BB63;
  border-radius:50%;
  width: 2em;
  font-weight:bold;
  color:#fff;
}
.sougihoken-point-box{
  background:#fff;
  padding:20px;
  margin-bottom:20px;
}
.sougihoken-point-box .has-medium-font-size{
  font-size:150% !important;
}
.douga-center{
  text-align:center;
}

/*納骨堂*/
.whitebox-border{
  border-radius:10px;
  border:#ccc 1px solid;
  padding:20px;
  background:#fff;
  margin-bottom:20px;
}

.subpage .title-gray{
  border:none;
  padding:5px 10px;
  background:#EBEBEB;
  font-weight:bold;
  border-radius:5px;
  color:#000;
  margin-bottom:10px;
}

/*生花店*/
.subpage .tel_num{
  justify-content: center;
}
.subpage .tel_num::before{
  width:1.2em;
  height:1em;
  margin-right: 5px;
  background-size:auto 100%;
}

.whitebox-border-pink{
  border-radius:10px;
  border:#FF8484 2px solid;
  padding:20px;
  background:#fff;
  margin-bottom:20px;
}

.btn-pink{margin-bottom:20px;}
.btn-pink a{
  background:#FF8484;
  border-radius:10px;
  padding:20px 30px;
  min-width:160px;
  text-align:center;
}
.btn-pink a:hover{
  color:#fff;
  background:#ff4545;
}
.btn-red{margin-bottom:20px;}
.btn-red a{
  background:#c60000;
  border-radius:10px;
  padding:20px 30px;
  min-width:160px;
  text-align:center;
}
.btn-red a:hover{
  color:#fff;
  background:#8f0000;
}

/*キューピッド便り・ひとりごと*/
#wrapper .subpage .wp-block-file{font-size:inherit;margin-bottom:10px;}

#wrapper .subpage .wp-block-file__button{padding:5px 10px;}

/*コインランドリー＆カフェ*/
.border-box-pink{
  border:2px solid #F06997;
  background:#fff;
  padding:20px;
  margin-bottom:10px;
}