@charset "utf-8";

/*-------------------------------------------------------------------------*/
/* include
/*-------------------------------------------------------------------------*/
/*--------
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700');
---------*/

/* Noto Sans Japanese */
/* fonts.googleapis.com/earlyaccess/notosansjapanese.css */
/*--------
@font-face {
font-family: 'Noto Sans Japanese'; font-style: normal;
font-weight: 200;
src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
font-display: swap;
}
@font-face {
font-family: 'Noto Sans Japanese'; font-style: normal;
font-weight: 300;
src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
font-display: swap;
}
@font-face {
font-family: 'Noto Sans Japanese'; font-style: normal;
font-weight: 500;
src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
font-display: swap;
}
@font-face {
font-family: 'Noto Sans Japanese'; font-style: normal;
font-weight: 700;
src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
font-display: swap;
}
---------*/
/*-------------------------------------------------------------------------*/
/* reset
/*-------------------------------------------------------------------------*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,ins,kbd,q,samp,small,strong,
sub,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,
figcaption,figure,footer,header,hgroup,menu,main,nav,section,summary,time,mark,audio,video{ margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
body{ line-height: 1; }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{ display: block; }
nav ul{ list-style: none; }
ul,ol,li,dl,dt,dd{ list-style-type: none; list-style-position: outside; }
blockquote,q{ quotes: none; }
blockquote:before,blockquote:after,q:before,q:after{ content: none; }
a{ margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
ins{ background-color: #ff9; color: #000; text-decoration: none; }
img{ vertical-align: top; border: 0; }
em{ font-style: italic; }
mark{ background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del{ text-decoration: line-through; }
abbr[title],dfn[title]{ border-bottom: 1px dotted; cursor:help; }
table{ border-collapse: collapse; border-spacing: 0; }
hr{ display:block; height:1px; border: 0; border-top: 1px solid #ccc; margin: 0; padding: 0; }
input,select{ vertical-align: middle; }
main { display: block; }
button { border: none; }
@media print, screen and (min-width: 1025px) {
}

/*-------------------------------------------------------------------------*/
/* module
/*-------------------------------------------------------------------------*/
.err { color: #ff0000 !important; font-weight: bold; }.bold { font-weight: bold !important; }.red { color: #eb0602 !important; }.center { text-align: center !important; }.right { text-align: right !important; }.left { text-align: left !important; }.fr { float: right; }.fl { float: left; }
.fs10 { font-size: 10px !important; }.fs12 { font-size: 12px !important; }.fs14 { font-size: 14px !important; }.fs16 { font-size: 16px !important; }.fs18 { font-size: 18px !important; }.fs20 { font-size: 20px !important; }.fs22 { font-size: 22px !important; }.fs24 { font-size: 24px !important; }
.mt0 { margin-top: 0px !important; }.mt5 { margin-top: 5px !important; }.mt10 { margin-top: 10px !important; }.mt15 { margin-top: 15px !important; }.mt20 { margin-top: 20px !important; }.mt30 { margin-top: 30px !important; }.mt40 { margin-top: 40px !important; }.mt50 { margin-top: 50px !important; }
.mb5 { margin-bottom: 5px !important; }.mb0 { margin-bottom: 0 !important; }.mb10 { margin-bottom: 10px !important; }.mb15 { margin-bottom: 15px !important; }.mb20 { margin-bottom: 20px !important; }.mb30 { margin-bottom: 30px !important; }.mb40 { margin-bottom: 40px !important; }.mb50 { margin-bottom: 50px !important; }
.mr0 { margin-right: 0 !important; }.mr10 { margin-right: 10px !important; }.mr15 { margin-right: 15px !important; }.mr20 { margin-right: 20px !important; }.mr25 { margin-right: 25px !important; }.mr30 { margin-right: 30px !important; }
.ml5 { margin-left: 5px !important; }.ml10 { margin-left: 10px !important; }.ml20 { margin-left: 20px !important; }.ml30 { margin-left: 30px !important; }
.center { text-align: center !important; }.right { text-align: right !important; }.left { text-align: left !important; }
.pb10 { padding-bottom: 10px !important; }.pb20 { padding-bottom: 20px !important; }.pb30 { padding-bottom: 30px !important; }.pb40 { padding-bottom: 40px !important; }
.pl10 { padding-left: 10px !important; }.pl35 { padding-left: 35px !important; }.pl40 { padding-left: 40px !important; }.pl55 { padding-left: 55px !important; }
.pr10 { padding-right: 10px !important; }
.w150 { width: 150px !important; }.w200 { width: 200px !important; }.w220 { width: 220px !important; }.w240 { width: 240px !important; }.w300 { width: 300px !important; }.w330 { width: 330px !important; }.w350 { width: 350px !important; }.w380 { width: 380px !important; }.w480 { width: 480px !important; }.w100p { width: 100% !important; }
.err-msg, .error-message { margin: 10px 0 0; font-weight: bold; font-size: 14px; color: #cc0000; }
@media print, screen and (min-width: 1025px) {
}

/*-------------------------------------------------------------------------*/
/* base
/*-------------------------------------------------------------------------*/
* { margin: 0; padding: 0; box-sizing: border-box; }
body { position: relative; font-family: "Noto Sans Japanese", "源ノ角ゴシック", "Source Han Sans", Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 14px; color: #333; font-weight: 300; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; font-feature-settings: "palt"; }
h1, h2, h3, h4, h5, h6 { font-size: 1.0em; font-weight: normal; }
table { border-collapse: collapse; }
img { border: none; vertical-align: bottom; }
li { list-style-type: none; }
sup { font-size: 10px; }
p { line-height: 1.5; }
p small { font-size: 80%; }
.red { color: #d52f21; }
th { font-weight: normal; }
.makr { border-bottom: 1px dashed #333; background: #f9ff9a; color: #eb0602; font-weight: 500; }
@media print, screen and (min-width: 1025px) {
body { font-size: 16px; }
}

/* link */
a:hover { transition: .1s; }
a:link { color: #4d4328; }
a:visited { color: #4d4328; }
a:hover { color: #4d4328; text-decoration: none; }
/*.undergp a:link, a.under:link, a.under { text-decoration: underline; }
.undergp a:hover, a.under:hover { text-decoration: none; }*/
.under a:link { text-decoration: none; }
.under a:hover { text-decoration: underline; }

/* Selected Text */
::selection { background: #f6f4ee; }
::-moz-selection { background: #f6f4ee; }

/* rollover */
@media print, screen and (min-width: 1025px) {
a:hover img.hov { filter: alpha(opacity=84); -moz-opacity: 0.84; opacity: 0.84; }
.ovrgp a:hover img, img.ovr:hover, input.ovr:hover, button.ovr:hover { filter: alpha(opacity=80); opacity: 0.80; }
}

/* ios */
.ios a:hover img.hov { filter: alpha(opacity=1); -moz-opacity: 1; opacity: 1; }
.ios .ovrgp a:hover img, .ios img.ovr:hover, .ios input.ovr:hover { filter: alpha(opacity=1); opacity: 1; }

/* clear */
.clear { clear: both; }
.cfgp li:before, .cfgp li:after,.cf:before, .cf:after, .clearfix:before, .clearfix:after { content: ""; display: table; }
.cfgp li:after,.cf:after, .clearfix:after { clear: both; }
.cfgp li,.cf, .clearfix { *zoom: 1; }

/* img */
img { max-width: 100%; }
@media print, screen and (min-width: 1025px) {
img { max-width: auto; max-height: auto; }
}

/* hiddn */
#wrapper .pc { display: none !important; }
@media print, screen and (min-width: 1025px) {
#wrapper .pc { display: block !important; }
#wrapper img.pc { display: inline !important; }
#wrapper .sp { display: none !important; }
}

/* sp-txt */
.sp-txt {	text-align: left; }
@media print, screen and (min-width: 1025px) {
.sp-txt {	text-align: inherit; }
}

/* sp-img */
.sp-img { width: 100%; }
@media print, screen and (min-width: 1025px) {
.sp-img { width: inherit; }
}

/* img-c */
.img-c { text-align: center; }
.img-c img { margin: 0 auto; }
@media print, screen and (min-width: 1025px) {
}

/* .blink */
@keyframes blink { 50%{ text-shadow: 0 0 6px #fffa94; } }
.blink { animation: blink 3s infinite; }

/*-------------------------------------------------------------------------*/
/* pagetop
/*-------------------------------------------------------------------------*/
#pagetop { display: none; position: fixed; bottom: 5px; right: 5px; width: 60px; height: 60px; z-index: 1000; cursor: pointer; }
#pagetop a { position: relative; display: block; width: 60px; height: 60px; padding-top: 18px; background: url(../img/ptg_black.png) no-repeat; background-size: cover; color: #fff; text-align: center; line-height: 1.4; font-size: 12px; text-decoration: none; }

@media print, screen and (min-width: 1025px) {
#pagetop { bottom: 25px; right: 10px; width: 100px; height: 100px; z-index: 998; }
#pagetop a { width: 100px; height: 100px; padding-top: 35px; font-size: 14px; }
#pagetop a:hover { opacity: 0.9; }
}

/*-------------------------------------------------------------------------*/
/* parts
/*-------------------------------------------------------------------------*/
.colorbtn a,.colorbtn button { position: relative; display: block; padding: 20px 0 18px; border-radius: 4px; color: #fff; font-size: 16px; font-weight: 400; text-align: center; line-height: 1; text-decoration: none; font-family: "Noto Sans Japanese", "源ノ角ゴシック", "Source Han Sans", Lato, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.colorbtn.big a { padding: 26px 0 24px; border-radius: 5px; font-size: 18px; }

.colorbtn.ao a { 
background: #6799c8; /* Old browsers */
background: -moz-linear-gradient(top,  #6799c8 0%, #3678b6 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #6799c8 0%,#3678b6 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #6799c8 0%,#3678b6 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6799c8', endColorstr='#3678b6',GradientType=0 ); /* IE6-9 */
}
.colorbtn.mido a { 
background: #7bb357; /* Old browsers */
background: -moz-linear-gradient(top,  #7bb357 0%, #509b21 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #7bb357 0%,#509b21 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #7bb357 0%,#509b21 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7bb357', endColorstr='#509b21',GradientType=0 ); /* IE6-9 */
}
.colorbtn.cha a { 
background: #9f8369; /* Old browsers */
background: -moz-linear-gradient(top,  #9f8369 0%, #805b38 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #9f8369 0%,#805b38 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #9f8369 0%,#805b38 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9f8369', endColorstr='#805b38',GradientType=0 ); /* IE6-9 */
}
.colorbtn.ora a { 
background: #f6b342; /* Old browsers */
background: -moz-linear-gradient(top,  #f6b342 0%, #f39a04 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #f6b342 0%,#f39a04 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #f6b342 0%,#f39a04 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6b342', endColorstr='#f39a04',GradientType=0 ); /* IE6-9 */
}
.colorbtn.kimi a, .colorbtn.kimi button { 
background: #49c7ab; /* Old browsers */
background: -moz-linear-gradient(top,  #49c7ab 0%, #0eb490 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #49c7ab 0%,#0eb490 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #49c7ab 0%,#0eb490 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#49c7ab', endColorstr='#0eb490',GradientType=0 ); /* IE6-9 */
}
@media print, screen and (min-width: 1025px) {
.colorbtn a,.colorbtn button { padding: 24px 0 22px; border-radius: 5px; font-size: 18px; }
.colorbtn.big a { padding: 30px 0 28px; border-radius: 7px; font-size: 22px; }
.colorbtn a:hover, .colorbtn button:hover { text-decoration: underline; }
.colorbtn.ao a:hover {
background: #85c4ea; /* Old browsers */
background: -moz-linear-gradient(top,  #85c4ea 0%, #3e9ddd 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #85c4ea 0%,#3e9ddd 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #85c4ea 0%,#3e9ddd 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85c4ea', endColorstr='#3e9ddd',GradientType=0 ); /* IE6-9 */
}
.colorbtn.mido a:hover {
background: #9fda6c; /* Old browsers */
background: -moz-linear-gradient(top,  #9fda6c 0%, #62c425 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #9fda6c 0%,#62c425 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #9fda6c 0%,#62c425 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9fda6c', endColorstr='#62c425',GradientType=0 ); /* IE6-9 */
}
.colorbtn.cha a:hover {
background: #caac88; /* Old browsers */
background: -moz-linear-gradient(top,  #caac88 0%, #a87342 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #caac88 0%,#a87342 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #caac88 0%,#a87342 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#caac88', endColorstr='#a87342',GradientType=0 ); /* IE6-9 */
}
.colorbtn.ora a:hover {
background: #fcce4b; /* Old browsers */
background: -moz-linear-gradient(top,  #fcce4b 0%, #fbb504 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #fcce4b 0%,#fbb504 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #fcce4b 0%,#fbb504 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcce4b', endColorstr='#fbb504',GradientType=0 ); /* IE6-9 */
}
.colorbtn.kimi a:hover, .colorbtn.kimi button:hover {
background: #58e6d0; /* Old browsers */
background: -moz-linear-gradient(top,  #58e6d0 0%, #10d8b5 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #58e6d0 0%,#10d8b5 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #58e6d0 0%,#10d8b5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#58e6d0', endColorstr='#10d8b5',GradientType=0 ); /* IE6-9 */
}
}

.colorbtn a:before, .colorbtn button:before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 4px; background: rgba(255,255,255, 0.2); }
.colorbtn a:after, .colorbtn button:after { position: absolute; bottom: 0; left: 0; content: ""; display: block; width: 100%; height: 4px; background: rgba(0,0,0, 0.1);  }
.colorbtn i { display: inline-block; content: ""; width: 25px; height: 25px; margin-right: 5px; background: url(../img/arw_white.png) no-repeat; vertical-align: middle; }
@media print, screen and (min-width: 1025px) {
}

.boderbtn { text-align: center; }
.boderbtn a, .boderbtn button, .boderbtn input[type=submit] { display: block; padding: 20px 0; border: 1px solid #cdc6b6; background: #fff; font-weight: 500; color: #4d4328; }
@media print, screen and (min-width: 1025px) {
.boderbtn a, .boderbtn button, .boderbtn input[type=submit] { display: inline-block; padding: 20px 70px; }
}

.arw01:before, .arwgp01 a:before { display: inline-block; content: ""; width: 20px; height: 20px; margin-right: 5px; background: url(../img/arw_cha.png) no-repeat; vertical-align: middle; }
.arw02:before { display: inline-block; content: ""; width: 25px; height: 25px; margin-right: 5px; background: url(../img/arw_white.png) no-repeat; vertical-align: middle; }
@media print, screen and (min-width: 1025px) {
a.hov01:hover { box-shadow: 0 0 10px 5px rgba(86,76,47,0.05); }
}

/*-------------------------------------------------------------------------*/
/* _sp
/*-------------------------------------------------------------------------*/
/* sp-nav */
#sp-nav { display: none; position: absolute; top: 50px; left: 0; overflow: auto; width: 100%; height: 100%; z-index: 997; background: #f1efe8 /*rgba(0,0,0, 0.9)*/; text-align: center; color: #fff; }
@media screen and (min-width: 1025px) {
#sp-nav { display: none; }
}

/* sp-btn */
#sp-btn { position: absolute; top: 0; right: 0; padding: 11px 11px 0 0; z-index: 997; }
#sp-btn-icon, #sp-btn-icon span { display: block; transition: all .2s; box-sizing: border-box; }
#sp-btn-icon { position: relative; width: 30px; height: 26px; }
#sp-btn-icon span { position: absolute; left: 0; width: 100%; height: 4px; background-color: #837c68; }
#sp-btn-icon span:nth-of-type(1) { top: 0; }
#sp-btn-icon span:nth-of-type(2) { top: 11px; }
#sp-btn-icon span:nth-of-type(3) { bottom: 0; }
.open #sp-btn-icon span:nth-of-type(1){-webkit-transform:translateY(12px) rotate(-45deg);transform:translateY(12px) rotate(-45deg);}
.open #sp-btn-icon span:nth-of-type(2){opacity:0;}
.open #sp-btn-icon span:nth-of-type(3){-webkit-transform:translateY(-10px) rotate(45deg);transform:translateY(-10px) rotate(45deg);}
@media screen and (min-width: 1025px) {
#sp-btn { display: none; }
}

/* sp-close */
#sp-close { position: relative; z-index: 997; padding: 20px 0; text-align: center; font-size: 16px; color: #fff; font-weight: bold; transition: none; background: #605c4f; }
#sp-close i { display: inline-block; position: relative; width: 20px; height: 20px; margin-top: -4px; margin-right: 3px; vertical-align: middle; }
#sp-close i:before, #sp-close i:after { display: block; content: ""; position: absolute; top: 50%; left: 0; width: 15px; height: 3px; background: #fff; }
#sp-close i:before { margin-top: 0;transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
#sp-close i:after { margin-top: 0;transform: rotate(-135deg); -webkit-transform: rotate(-135deg); }
@media screen and (min-width: 1025px) {
#sp-close { display: none; }
}

/* spnavbox */
.spnavbox li { border-top: 2px solid #bcb6a2; text-align: center; }
.spnavbox li a { display: block; padding: 20px 0; font-size: 16px; font-weight: 400; text-decoration: none; }
.spnavbox .input { position: relative; padding: 15px 25px; }
.spnavbox .input:before { position: absolute; top: 25px; left: 35px; z-index: 999; display: inline-block; content: ""; width: 18px; height: 18px; margin-right: 8px; background: url(../img/ico_search.png) no-repeat; vertical-align: middle; }
.spnavbox .input input[type=text] { position: relative; display: block; width: 100%; height: 40px; padding: 3px 10px 0 40px; background: #fff; border: none; border-radius: 20px; color: #666; font-size: 16px; box-shadow:0 1px 0 0 #b4b1a5 inset; line-height: 1; }

/* spsearch */
.spsearch { padding: 30px 15px; background: #fff; color: #333; }

/*-------------------------------------------------------------------------*/
/* wrapper
/*-------------------------------------------------------------------------*/
#wrapper { position: relative; background: url(../img/bg_gray.png); }
@media print, screen and (min-width: 1025px) {
#wrapper.navige_fixed { margin-top: 60px; }
}

/*-------------------------------------------------------------------------*/
/* header
/*-------------------------------------------------------------------------*/
#header { position: static; top: 0; width: 100%; background: #fff; z-index: 996; }
.fixed #header { box-shadow: 0 1px 6px -4px rgba(0,0,0, 0.3); }
#header .inner { height: 50px; padding: 10px; }
#header .logo { float: left; width: 120px; }
#header .text, #header .botan { display: none; }
#header .oisogi { float: left; margin-left: 10px; }
#header .oisogi a { display: block; padding: 9px 8px; border-radius: 2px; color: #fff; font-size: 11px; font-weight: 400; text-align: center; line-height: 1; text-decoration: none; background: #cb3126; }
#header .oisogi a { 
background: #c94f46; /* Old browsers */
background: -moz-linear-gradient(top,  #c94f46 0%, #cb3126 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #c94f46 0%,#cb3126 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #c94f46 0%,#cb3126 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c94f46', endColorstr='#cb3126',GradientType=0 ); /* IE6-9 */
}

@media print, screen and (min-width: 1025px) {
#header { position: relative; }
#header .inner { position: relative; max-width: 1240px; height: 85px; margin: 0 auto; padding: 0; }
#header .logo { position: absolute; top: 18px; left: 14px; width: inherit; }
#header .text { display: block; position: absolute; top: 32px; left: 250px; }
#header .botan { display: block; position: absolute; top: 8px; right: 0; width: 340px; }
#header .oisogi { display: none; }
}

/*-------------------------------------------------------------------------*/
/* navige
/*-------------------------------------------------------------------------*/
#navige { display: none; }

@media print, screen and (min-width: 1025px) {
#navige { display: block; position: relative; background: #eceae0; }
.navige_fixed #navige { width: 100%; position: fixed; top: 0; z-index: 999; box-shadow: 0 0 8px 5px rgba(140,129,117,0.1); }
#navige .inner { position: relative; max-width: 1240px; height: 60px; margin: 0 auto; }
#navige ul { width: calc(100% - 354px); }
#navige li { float: left; width: 22%; border-right: 1px solid #c8c4b4; text-align: center; }
#navige li.hurry { min-width: 300px; }
#navige li a { display: block; height: 60px; padding: 18px 30px 0; font-size: 18px; font-weight: 400; text-decoration: none; border-bottom: 3px solid #bcb6a2;  }
#navige li a:hover { border-bottom: 3px solid #877f66; text-decoration: underline; }
#navige li.hurry a { padding: 18px 15px 0; background: #cb3126; border-bottom: 3px solid #87170f; color: #fff; }
#navige li.hurry i { display: inline-block; content: ""; width: 24px; height: 24px; margin-right: 5px; background: url(../img/ico_surp.png) no-repeat; vertical-align: middle; }
#navige .input { position: relative; float: right; width: 300px; padding: 10px 10px 0 0; }
#navige .input input[type=text] { display: block; width: 290px; height: 40px; padding: 3px 10px 0 34px; background: #fff; border: none; border-radius: 20px; color: #666; font-size: 16px; box-shadow:0 1px 0 0 #b4b1a5 inset; }
#navige .input:before { position: absolute; top: 22px; left: 10px; display: inline-block; content: ""; width: 18px; height: 18px; margin-right: 8px; background: url(../img/ico_search.png) no-repeat; vertical-align: middle; }
}

/*-------------------------------------------------------------------------*/
/* firstv
/*-------------------------------------------------------------------------*/
#firstv { margin-top: 50px; }
#firstv .firstv_sp { min-height: 165px; padding: 40px 15px 0; background: #fff url(../img/mv_bg_sp.jpg) no-repeat top center; background-size: cover; }
#firstv .txt { width: 200px; }
#firstv .copy { display: none; }

@media print, screen and (min-width: 1025px) {
#firstv { margin-top: 0; background: url(../img/mv_bg_pc.jpg) no-repeat top center; background-size: auto; }
#firstv .inner { position: relative; max-width: 1240px; height: 410px; min-height: inherit; margin: 0 auto; padding: 0; }
#firstv .firstv_sp { min-height: inherit; padding: 0; background: none; }
#firstv .txt { position: absolute; top: 103px; left: 34px; width: inherit; }
#firstv .copy { display: block; position: absolute; top: 222px; left: 47px; width: auto; margin: 0; font-size: 20px; }
}

#firstv .search { display: block; width: 100%; background: #fff; box-shadow: 0 0 15px 7px rgba(86,76,47,0.12); }
#firstv .search .wrap { position: relative; padding: 30px 15px; }
#firstv .search .wrap:before { position: absolute; top: 6px; left: 0; z-index: 2; content: ""; display: block; width: 100%; height: 3px; background: #6b6247; }
#firstv .search .wrap:after { position: absolute; bottom: 6px; left: 0; z-index: 2; content: ""; display: block; width: 100%; height: 3px; background:#6b6247;  }

@media print, screen and (min-width: 1025px) {
#firstv .search { position: absolute; bottom: 30px; left: 0; }
#firstv .search .wrap { height: 170px; background: url(../img/global_map.png) no-repeat top 20px left 33px, url(../img/ico_batu.png) no-repeat top 71px left 467px; }
#firstv .search .wrap:before { top: 7px; height: 4px; }
#firstv .search .wrap:after { bottom: 7px; height: 4px; }
#firstv .perf-select { position: absolute; top: 50px; left: 225px; width: 225px; }
#firstv .funeral-select { position: absolute; top: 50px; left: 508px; width: 335px; }
#firstv .botan { position: absolute; top: 48px; right: 40px;  }
}

/*-------------------------------------------------------------------------*/
/* search
/*-------------------------------------------------------------------------*/
.search .perf-select, .search .funeral-select { height: 60px; margin-bottom: 10px; border: 1px solid #7f6e3c; border-radius: 4px; background: url(../img/ico_select.png) no-repeat top 20px right 10px; text-align: left; }
.search .cap { float: left; display: inline-block; width: 25%; height: 58px; padding-top: 20px; border-right: 1px solid #7f6e3c; background: #f1efe8; text-align: center; font-size: 16px; font-weight: 500; border-radius: 4px 0 0 4px; }
.search .botan button { width: 100%; cursor: pointer; }
.search select { float: left; display: inline-block; width: 75%; height: 60px; padding-left: 5px; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; font-size: 22px; font-weight: 400; background: none; line-height: 1; vertical-align: middle; }

@media print, screen and (min-width: 1025px) {
.search .perf-select, .search .funeral-select { height: 70px; margin: 0; border-radius: 5px; background: url(../img/ico_select.png) no-repeat top 25px right 10px; }
.search .cap { width: 89px; height: 68px; padding-top: 24px; font-size: 20px; border-radius: 5px 0 0 5px; }
.search .botan button { padding: 24px 24px 22px 24px; }
.search select { height: 70px; padding: 0; }
.search .perf-select select { width: 130px; }
.search .funeral-select select { width: 240px; }
.search option { padding: 3px; }
}


/*-------------------------------------------------------------------------*/
/* subvi
/*-------------------------------------------------------------------------*/
#subvi { height: 39px; margin-top: 50px; background: #fff url(../img/sv_bg.jpg) no-repeat top center; }
#subvi .search { display: none; }

@media print, screen and (min-width: 1025px) {
#subvi { height: inherit; margin-top: 0; padding-top: 39px; background: #fff url(../img/sv_bg.jpg) no-repeat top center; border-bottom: 1px solid #cdc6b6; }
.inquiry #subvi, .page-id-27 #subvi { border-bottom: none; }
#subvi .inner { position: relative; width: 970px; margin: 0 auto; }
#subvi .search { display: block; }
.inquiry #search, .page-id-27 #search { display: none; }
#subvi .search .wrap { position: relative; height: 120px; background: url(../img/ico_batu.png) no-repeat top 47px left 245px; }
#subvi .perf-select { position: absolute; top: 25px; left: 0; width: 225px; }
#subvi .funeral-select { position: absolute; top: 25px; left: 285px; width: 335px; }
#subvi .botan { position: absolute; top: 23px; right: 0;  }
}

/*-------------------------------------------------------------------------*/
/* footer
/*-------------------------------------------------------------------------*/
#footer .inner { padding: 30px 0 20px; }
#footer .navi { margin-left: 10px; margin-bottom: 10px; padding-left: 15px; border-left: 4px solid #575142; }
#footer .navi dt { margin-top: 10px; font-size: 15px; font-weight: 500; color: #4d4328; }
#footer .navi dt:first-child { margin-top: 0; }
#footer .navi dd { padding: 10px 0 0; }
#footer .navi li { float: left; margin: 0 10px 10px 0; font-size: 14px; }
#footer .menu { margin: 15px; text-align: center; }
#footer .menu li { display: inline-block; margin: 0 10px 15px 0; font-size: 14px; }
#footer .menu li:after { display: inline-block; content: "|"; margin-left: 10px; color: #797876; }
#footer .logo { text-align: center; }
#footer .logo img { width: 120px; }
#footer .logo .copy { margin: 15px 0 0; font-size: 12px; }

@media print, screen and (min-width: 1025px) {
#footer .inner { max-width: 1240px; min-height: 400px; margin: 0 auto; padding: 60px 0 40px; }
#footer .navi { margin-left: 380px; margin-bottom: 40px; padding-left: 40px; border-left: 5px solid #575142; }
#footer .navi + div { display: flex; flex-direction: row-reverse; }
#footer .navi dt { margin-top: 20px; font-size: 18px; }
#footer .navi dd { padding: 15px 0 0; }
#footer .navi li { margin: 0 7px 7px 0; font-size: 16px; }
#footer .menu { float: right; width: 865px; padding-left: 10px; margin: 0 0 -15px 0; text-align: left; }
#footer .menu li { display: block; float: left; }
#footer .logo { width: 320px; float: left; text-align: left; }
#footer .logo img { width: 207px; }
#footer .logo .copy { margin: 15px 0 0 20px; }
}

/*-------------------------------------------------------------------------*/
/* main
/*-------------------------------------------------------------------------*/
/* cont */
.cont { position: relative; }
.cont.siro { background: #fff; }
.cont .inner { position: relative; padding: 60px 0 30px; }

.cont.kage {
box-shadow: 0 0 12px -10px rgba(140,129,117,0.5) inset;
background: #ffffff; /* Old browsers */
background: -moz-linear-gradient(top, #ffffff 0%, #f9f9f9 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, #ffffff 0%,#f9f9f9 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, #ffffff 0%,#f9f9f9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9',GradientType=0 ); /* IE6-9 */
}

@media print, screen and (min-width: 1025px) {
.cont .inner { max-width: 1240px; margin: 0 auto; padding: 60px 0; }
.cont.p0 .inner { padding: 0 0 60px; }
.cont.p20 .inner { padding: 20px 0 60px; }
.cont.p30 .inner { padding: 30px 0 60px; }
.cont.kiku { background: url(../img/bg_kiku01.png) no-repeat top -70px left -70px, url(../img/bg_kiku01.png) no-repeat bottom -70px right -70px; }
.cont.nami { background: url(../img/bg_nami.png) no-repeat top -100px left -200px, url(../img/bg_nami.png) no-repeat bottom -100px right -200px; }
}

/* ttl */
.cont .ttl { font-size: 22px; font-weight: 500; color: #4d4328; line-height: 1.2; text-align: center; }
.cont .ttl.left { margin-left: 10px; text-align: left; }
.cont .ttl-cha { margin: 20px 0; padding: 18px 16px; font-size: 22px; color: #fff; font-weight: 500; line-height: 1.2; text-align: left; border-bottom: 3px solid #7c7668; background: #5a564b url(../img/bg_kiku05.png) no-repeat top -45px right; }
.cont .ttl-blue { margin: 20px 0; padding: 18px 16px; font-size: 22px; color: #575142; font-weight: 500; line-height: 1.2; text-align: left; background: url(../img/bg_kiku01.png) no-repeat center left; background-size: contain; }

@media print, screen and (min-width: 1025px) {
.cont .ttl { font-size: 28px; }
.cont .ttl.left { margin-left: 0; }
.cont .ttl-cha { margin: 40px 0; padding: 22px 20px; font-size: 38px; border-bottom: 4px solid #7c7668; }
.cont .ttl-blue { margin: 0 0 -20px; padding: 15px 20px 0; font-size: 35px; }
}

/* contentbox */
@media print, screen and (min-width: 1025px) {
.contentbox { float: left; width: calc(100% - 350px); }
}

.sec { margin-top: 20px; }
.spa { margin-left: 10px !important; margin-right: 10px !important; }
@media print, screen and (min-width: 1025px) {
.sec { margin-top: 40px; }
.spa { margin-left: 0 !important; margin-right: 0 !important; }
}

/* sidebox */
#sidebar { display: none; }
@media print, screen and (min-width: 1025px) {
#sidebar { display: block; }
.sidesec { margin-bottom: 40px; }
.sidebox { float: right; width: 295px; }
.sidebox .wrap { width: 295px; }
.sidebox li img { float: left; width: 115px; margin: 0 10px 10px 0; border: 3px solid #fff; box-shadow: 0 0 0 1px #dadada; }
.sidebox .ttl01 { padding: 24px 0; color: #4d4328; font-size: 18px; font-weight: 500; border-top: 3px solid #575142; border-bottom: 1px solid #cdc6b6; }
.sidebox .ttl02 { padding: 22px 17px; color: #fff; font-size: 18px; font-weight: 500; }
.sidebox .ttl02.yel { background: #c88a33 url(../img/bg_kiku03.png) no-repeat top -30px right -15px; border-bottom: 4px solid #d99b45; }
.sidebox .ttl02.blu { background: #296298 url(../img/bg_kiku04.png) no-repeat top -30px right -15px; border-bottom: 4px solid #417cb5; }
.sidebox .list01 > li { overflow: hidden; padding: 12px 0 2px; border-bottom: 1px solid #cdc6b6; }
.sidebox ol { margin: 0 -7px -7px 0; }
.sidebox ol > li { float: left; margin: 0 7px 7px 0; font-size: 14px; }
.sidebox .name { display: inline-block; margin: 0 0 10px; color: #4d4328; font-weight: 400; }
.sidebox a:hover .name { text-decoration: underline; }
.sidebox .price { display: inline-block; margin: 0 0 10px; color: #b5382f; font-weight: 400; font-size: 20px; }
.sidebox .price small { font-size: 14px; }
.sidebox .sanre { display: inline-block; }
.sidebox .btn { margin-top: 15px; text-align: center; }
.sidebox .btn a { display: block; padding: 15px 0; border: 1px solid #cdc6b6; font-weight: 500; }
.sidebox .btn a:hover { background: #f6f4ee; }
.sidebox .list02 { border: 3px solid #dfdace; border-top: none; }
.sidebox .list02 li { overflow: hidden; border-bottom: 1px solid #dfdace; line-height: 1.4; }
.sidebox .list02 li a { display: block; padding: 15px 15px; font-weight: 400; }
.sidebox .list02 li a:hover { background: #f6f4ee; }
}

/* infobox */
.infobox { margin: 30px 10px 0; }
.infobox li { text-align: center; position: relative; margin: 0 0 20px; padding-bottom: 10px; background: #fff; }
.infobox li > img { display: block; position: relative; left: 50%; transform: translateX(-50%); }
.infobox li h3 { display: inline-block; width: 16rem; position: relative; }
.infobox li h3:before { position: absolute; top: -80px; left: -2rem; display: block; content: ""; width: 45px; height: 45px; }
.infobox li:nth-child(1) h3:before { background: url(../img/info_num01.png) no-repeat; background-size: cover; }
.infobox li:nth-child(2) h3:before { background: url(../img/info_num02.png) no-repeat; background-size: cover; }
.infobox li:nth-child(3) h3:before { background: url(../img/info_num03.png) no-repeat; background-size: cover; }
.infobox h3 { position: relative; margin: 25px 0 15px; font-size: 18px; font-weight: 500; color: #4d4328; line-height: 1.2; text-align: center; }
.infobox p { margin: 0 15px 15px; }

@media print, screen and (min-width: 1025px) {
.infobox { margin: 60px 0 0; }
.infobox li { float: left; width: calc(33.333333% - 20px); min-height: 480px; padding: 0; }
.infobox li + li { margin: 0 0 0 20px; }
.infobox li h3:before { top: -70px; left: 17px; width: 70px; height: 70px; }
.infobox h3 { width: 100%!important; margin: 30px 0 20px; font-size: 20px; }
.infobox p { margin: 0 30px 30px; }
}

/* statebox */
.statebox { margin: 30px 5px 0; }
.statebox ul > li { float: left; width: 50%; min-height: 230px; padding: 0 5px; margin-bottom: 20px;}
.statebox ul > li > a { display: block; text-align: center; }
.statebox li.pref { width: 100%;}
.statebox h3, .statebox .li02 { display: none; }
.statebox li.pref h3 { display: block}
.statebox ol { margin: 10px -7px -10px 0; }
.statebox ol > li { float: left; margin: 0 7px 10px 0; font-size: 13px; }
#shikucho-disp ol > li a { color: #fff; }
.cont .statebox .ttl { clear:both; }

@media print, screen and (min-width: 1025px) {
.statebox { margin: 60px 0 0; }
#shikucho-disp .statebox { position: relative; width: 1240px; margin: 0 auto; text-align: left; }
.statebox ul > li { position: relative; width: calc(25% - 20px); min-height: 480px; padding-top: 260px; }
.statebox ul > li + li { margin-left: 20px; }
.statebox li.tokyo { background: #f2f8fe url(../img/state_img01.jpg) no-repeat top; }
.statebox li.saitama { background: #f0fbe8 url(../img/state_img02.jpg) no-repeat top; }
.statebox li.chiba { background: #fef4ed url(../img/state_img03.jpg) no-repeat top; }
.statebox li.kanagawa { background: #fff7ea url(../img/state_img04.jpg) no-repeat top; }
.statebox li.ibaraki { background: #f2f8fe url(../img/state_img01.jpg) no-repeat top; }
.statebox li.tochigi { margin-left: 0; background: #f2f8fe url(../img/state_img01.jpg) no-repeat top; }
.statebox li.gunma { background: #f2f8fe url(../img/state_img01.jpg) no-repeat top; }
.statebox li.pref { width: 100%; min-height: 280px; background-image: none; margin: 0; padding-top: 50px; }
.statebox .ttl, .statebox .li02 { display: block; }
.statebox .ttl { font-weight: 400; font-size: 15px; color: #524335; text-align: center; }
.statebox img { position: absolute; top: 105px; left: 50%; transform: translateX(-50%); }
.statebox ol { margin: 20px 20px; }
.statebox ol > li { margin: 0 7px 7px 0; font-size: 14px; }
.statebox li.pref ol > li { margin: 0 14px 14px 0; font-size: 16px; }
.statebox li.pref .ttl { font-size: 20px; }

#shikucho-disp ol > li a { color: #4d4328; }
}

/* planbox */
.planbox { margin: 30px 10px 0; }
.planbox ul > li { position: relative; margin: 0 0 20px; padding: 15px; background: #fff; box-shadow: 0 0 10px 5px rgba(86,76,47,0.05); }
.planbox .chokuso { border-top: 4px solid #27659f; }
.planbox .ichini { border-top: 4px solid #4d991d; }
.planbox .kazoku { border-top: 4px solid #7d5834; }
.planbox .title { text-align: center; }
.planbox .title a { text-align: center; }
.planbox .title img { margin-bottom: 5px; }
.planbox .chokuso h3 { color: #27659f; }
.planbox .ichini h3 { color: #4d991d; }
.planbox .kazoku h3 { color: #7d5834; }
.planbox .title a { font-size: 36px; text-decoration: none; color: inherit; display: block;}
.planbox .image { margin: 15px 0 10px; text-align: center; }
.planbox .price { position: relative; font-size: 30px; font-weight: 500; color: #b5382f; line-height: 1.2; }
.planbox .price span { font-size: 16px; }
.planbox .price:before { display: inline-block; content: "実質費用"; margin: -4px 8px 0 -5px; padding: 6px 16px; background: #b5382f; border-radius: 18px; color: #fff; font-size: 14px; vertical-align: middle; }
.planbox .flow { position: relative; margin-top: 15px; }
.planbox .flow:before { display: inline-block; content: "流れ"; margin: 0 0 8px -5px; padding: 8px 18px; background: #58513f; border-radius: 18px; color: #fff; font-size: 14px; vertical-align: middle; }
.planbox .text { margin: 10px 0; }
.planbox .tbl { width: 100%; font-size: 14px; font-weight: 400; text-align: center; }
.planbox th { width: 70px; padding: 15px 0; background: #f1efe8; border: 1px solid #cac5b7; }
.planbox td { padding: 15px 10px; border: 1px solid #cac5b7;  }
.planbox .button a { margin: 15px 0 0; }
.plan-txt { margin: 0 15px; font-size: 12px; }
.plan-btn { margin: 10px 15px 0; }

@media print, screen and (min-width: 1025px) {
.planbox { margin: 60px 0 0; }
.planbox ul > li { float: left; width: calc(33.333333% - 20px); min-height: 760px; padding: 25px 35px 120px; }
.planbox ul > li + li { margin-left: 20px; }
.planbox .chokuso { border-top: 5px solid #27659f; }
.planbox .ichini { border-top: 5px solid #4d991d; }
.planbox .kazoku { border-top: 5px solid #7d5834; }
.planbox .price { font-size: 40px; }
.planbox .price span { font-size: 24px; }
.planbox .price:before { margin: -4px 10px 0 -5px; padding: 8px 20px; border-radius: 20px; font-size: 15px; }
.planbox .flow:before { margin: 0 0 10px -5px; padding: 10px 20px; border-radius: 20px; font-size: 15px; }
.planbox .button { position: absolute; bottom: 35px; left: 0; width: 100%; }
.planbox .button a { margin: 0 35px; }
.plan-txt { margin: 15px 0; text-align: right; font-size: 13px; }
.plan-btn { margin: 0 315px; }
}

/* seekbox */
.seekbox { margin: 30px 10px 0; }
#jyoken-disp .seekbox { text-align: left; }
.seekbox ul { border: 2px solid #dfdace; border-right: none;  border-bottom: none; }
.seekbox li { float: left; display: table; width: 50%; border-bottom: 2px solid #dfdace; border-right: 2px solid #dfdace; background: #fff; }
.seekbox a { position: relative; display: table-cell; height: 65px; padding: 10px 10px 10px 60px; text-decoration: none; line-height: 1.4; vertical-align: middle; }
.seekbox a:before { position: absolute; top: 15px; left: 10px; display: inline-block; content: ""; width: 40px; height: 40px; }
.seekbox .kasou a:before { background: url(../img/seek_kasou.png) no-repeat; background-size: cover; }
.seekbox .chusya a:before { background: url(../img/seek_chusya.png) no-repeat; background-size: cover; }
.seekbox .ekichika a:before { background: url(../img/seek_ekichika.png) no-repeat; background-size: cover; }
.seekbox .anchi a:before { background: url(../img/seek_anchi.png) no-repeat; background-size: cover; }
.seekbox .syuku a:before { background: url(../img/seek_syuku.png) no-repeat; background-size: cover; }
.seekbox .baria a:before { background: url(../img/seek_baria.png) no-repeat; background-size: cover; }
.seekbox .reian a:before { background: url(../img/seek_reian.png) no-repeat; background-size: cover; }
.seekbox .s200nin a:before { background: url(../img/seek_200nin.png) no-repeat; background-size: cover; }
.seekbox .saijyo a:before { background: url(../img/seek_saijyo.png) no-repeat; background-size: cover; }
.seekbox .title { font-size: 15px; font-weight: 500; }
.seekbox .kasou .title { color: #92426b; }
.seekbox .chusya .title { color: #bb443c; }
.seekbox .ekichika .title { color: #d36e32; }
.seekbox .anchi .title { color: #255888; }
.seekbox .syuku .title { color: #1c5a94; }
.seekbox .baria .title { color: #e29c28; }
.seekbox .reian .title { color: #b37722; }
.seekbox .s200nin .title { color: #58a527; }
.seekbox .saijyo .title { color: #4d4328; }
.seekbox .text { display: none; }

@media print, screen and (min-width: 1025px) {
.seekbox { margin: 60px 0 0; }
#jyoken-disp .seekbox { position: relative; width: 1240px; margin: 0 auto; }
.seekbox ul { border: 3px solid #dfdace; border-right: none;  border-bottom: none; }
.seekbox li { width: 410px; border-bottom: 3px solid #dfdace; border-right: 3px solid #dfdace; }
.seekbox a { height: 100%; height: 120px; padding: 18px 0 20px 120px; }
.seekbox a:hover { background: #f6f4ee; }
.seekbox a:before { top: 20px; left: 20px; width: 80px; height: 80px; }
.seekbox .title { font-size: 18px; }
.seekbox a:hover .title { text-decoration: underline; }
.seekbox .text { display: block; }
}

/* flowbox */
.flowtxt { margin: 30px 10px 0; }
.flowbox { margin: 30px 10px 0; }
.flowbox ul > li { position: relative; margin: 0 0 20px; background: url(../img/bg_kiku02.png) no-repeat bottom -10px right -10px; border: 1px solid #cdc6b6; }
.flowbox .mida { position: relative; display: table; width: 100%; height: 40px; background: #f2efe8; border-bottom: 1px solid #d9d3c5; }
.flowbox .mida h3 { display: table-cell; width: 100%; height: 100%; padding-left: 50px; font-weight: 400; font-size: 14px; color: #4d4328; vertical-align: middle; line-height: 1.4; }
.flowbox .mida:before { position: absolute; top: 0; left: 0; display: inline-block; content: ""; width: 40px; height: 40px; border-right: 1px solid #d9d3c5; }
.flowbox li:nth-child(1) .mida:before { background: url(../img/flow_num01.png) no-repeat center center; background-size: 15px; }
.flowbox li:nth-child(2) .mida:before { background: url(../img/flow_num02.png) no-repeat center center; background-size: 15px; }
.flowbox li:nth-child(3) .mida:before { background: url(../img/flow_num03.png) no-repeat center center; background-size: 15px; }
.flowbox li:nth-child(4) .mida:before { background: url(../img/flow_num04.png) no-repeat center center; background-size: 15px; }
.flowbox .wrap { padding: 15px; }
.flowbox p + p { margin: 15px 0 0; }
.flowbox .img { float: left; width: 100px; margin: 5px 15px 15px 0; }
.flowbox .yoku { clear: both; margin-top: 20px; }
.flowbox ol { margin: 20px 0; }
.flowbox ol > li { margin: 0 0 10px; font-size: 12px; }

@media print, screen and (min-width: 1025px) {
.flowtxt { margin: 40px 0 0; text-align: center; }
.flowbox { margin: 60px 0 0; }
.flowbox ul > li { float: left; width: calc(50% - 20px); min-height: 530px; margin: 0 0 20px 0; }
.flowbox ul > li:nth-child(2n) { margin-left: 20px; }
.flowbox .mida { height: 80px; }
.flowbox .mida h3 { padding-left: 100px; padding-right: 30px; font-size: 22px; }
.flowbox .mida:before { width: 80px; height: 80px; }
.flowbox li:nth-child(1) .mida:before, .flowbox li:nth-child(2) .mida:before, .flowbox li:nth-child(3) .mida:before, .flowbox li:nth-child(4) .mida:before { background-size: 30px; }
.flowbox .wrap { padding: 35px 30px 30px 35px; }
.flowbox p + p { margin: 20px 0 0; }
.flowbox .img { width: 200px; margin: 5px 30px 30px 0; }
.flowbox .yoku { margin-top: 40px; }
.flowbox ol > li { float: left; margin: 0 7px 7px 0; font-size: 14px; }
}

/* learnbox */
.learnbox { margin: 30px 0 0; }
.learnbox dt { position: relative; padding: 25px 10px; border-top: 1px solid #afaba2; }
.learnbox dt .cate { font-weight: 400; font-size: 20px; color: #4d4328; }
.learnbox dt .cate a { color: #4d4328; }
.learnbox dt:before { position: absolute; top: -1px; left: 0; display: block; content: ""; width: 50%; height: 3px; background: #575142; }
.learnbox dt .link { display: none; }
.learnbox dd { overflow: hidden; padding: 0 10px 15px; }
.learnbox ul { margin-top: 15px; }
.learnbox li { float: left; width: 50%; margin: 0 0 20px; padding-right: 5px; font-size: 13px; line-height: 1.4; }
.learnbox li:nth-child(even) { padding-right: 0; padding-left: 5px; }
.learnbox li img { margin: 0 0 10px; }

@media print, screen and (min-width: 1025px) {
.learnbox { margin: 60px 0 0; }
.learnbox dt { padding: 30px 0; }
.learnbox dt .cate { font-size: 26px; }
.learnbox dt:before { width: 315px; }
.learnbox dt .link { display: block; position: absolute; top: 25px; right: 0; }
.learnbox dt .link a { display: inline-block; padding: 20px 25px 17px; background: #fff; }
.learnbox dd { padding: 0 0 25px; }
.learnbox ul { margin: 30px 0 -25px 0; }
.learnbox li { width: calc(20% - 20px); padding: 0 !important;  font-size: 14px; }
.learnbox li + li {margin-left: 20px;}
.learnbox li img { margin: 0 0 15px; }
}

/* article */

@media print, screen and (min-width: 1025px) {
article { padding: 30px 60px 60px; }
.article { border: 1px solid #cdc6b6; }
.detail #content .article, .single-post #content .article, .archive #content .article { border-top: none; }
}

.article p { margin: 15px 10px 0; }
.article strong { font-size: 16px; font-weight: 500; color: #cc2316; }
.article em { font-style: italic; text-decoration: underline; }
@media print, screen and (min-width: 1025px) {
.article p { margin: 25px 0 0; font-size: 18px; line-height: 1.6; }
.article strong { font-size: 20px; }
}

article .visual { margin: 10px 0; }
@media print, screen and (min-width: 1025px) {
article .visual { margin: 0; }
}

article .button { margin: 20px 10px; }
@media print, screen and (min-width: 1025px) {
article .button { margin: 40px 90px; }
}

article h1 { padding: 0 10px; font-size: 20px; font-weight: 500; line-height: 1.4; color: #4d4328; }
@media print, screen and (min-width: 1025px) {
article h1 { margin-bottom: 30px; padding: 0; font-size: 38px; }
}

article h2 { position: relative; clear: both; margin: 40px 0 0; padding: 15px 10px; font-size: 20px; font-weight: 500; color: #fff; background: #5a564b; line-height: 1.4; }
article h2:before { position: absolute; bottom: 0; left: 0; content: ""; display: inline-block; width: 100%; height: 3px; background: #7c7668; }
@media print, screen and (min-width: 1025px) {
article h2 { margin: 70px 0 0; padding: 30px 20px; font-size: 26px; }
article h2:before { height: 4px; }
}

article h3 { clear: both; margin: 30px 0 0; padding: 8px 0 14px 10px; font-size: 16px; color: #4d4328; border-bottom: 1px solid #c3beb1; border-left: 4px solid #575142; line-height: 1.4; }
article h2 + h3 { margin: 10px 0 0; }
@media print, screen and (min-width: 1025px) {
article h3 { margin: 40px 0 0; padding: 10px 0 20px 15px; font-size: 20px; border-left: 6px solid #575142; }
article h2 + h3 { margin: 20px 0 0; }
}

article h4 { position: relative; clear: both; margin: 20px 0 0; padding: 15px 10px; font-size: 16px; font-weight: 500; color: #4d4328; border-bottom: 1px solid #cdc6b6; background: #f6f4ee; line-height: 1.4; }
@media print, screen and (min-width: 1025px) {
article h4 { margin: 40px 0 0; padding: 15px; font-size: 18px; }
}

article h5 { font-size: 16px; color: #4d4328; line-height: 1.4; }
@media print, screen and (min-width: 1025px) {
article h5 { font-size: 20px; }
}

/* table */
article .tbl-wrap { margin: 20px 10px 0;}
article table { width: 100%; text-align: left; border: 1px solid #ccc; }
article table th { padding: 10px; font-size: 13px; vertical-align: middle; color: #4d4328; background: #f6f4ee; border: 1px solid #cdc6b6; line-height: 1.4; }
article table td { padding: 10px; vertical-align: middle; font-size: 13px; text-align: left; border: 1px solid #cdc6b6; line-height: 1.4; }
.tbl-wrap{ overflow: auto; white-space: nowrap; }
.tbl-wrap::-webkit-scrollbar{ height: 5px;}
.tbl-wrap::-webkit-scrollbar-track{ background: #F1F1F1;}
.tbl-wrap::-webkit-scrollbar-thumb { background: #BCBCBC;}

@media print, screen and (min-width: 1025px) {
article .tbl-wrap { margin: 0;}
article table { width: 100%; margin: 40px 0 0; }
article table th { min-width: 180px; padding: 20px; font-size: 16px; line-height: 1.6; }
article table td { padding: 20px; font-size: 16px; line-height: 1.6; }
}


/* point */
article .point { position: relative; margin: 50px 10px 0; padding: 20px 10px; border: 2px solid #e0a451; background: #fff6ea;}
article .point:before { text-align: center;  position: absolute; top: -45px; left: -15px; content: "ポイント"; display: inline-block; width: 70px; height: 70px; padding-top: 25px; font-size: 14px; color: #fff; background: url(../img/ptg_yellow.png) no-repeat; background-size: contain; }
@media print, screen and (min-width: 1025px) {
article .point { margin: 60px 0 0; padding: 40px; border: 3px solid #e0a451; }
article .point:before { top: -50px; left: -30px; width: 100px; height: 100px; padding-top: 40px; font-size: 18px; }
}

/* ul */
article > ul { margin: 30px 10px 0; padding: 15px 15px 10px; background: #f6f4ee; }
article > ul li { padding: 0 0 10px; font-size: 14px; color: #4d4328; font-weight: 400; line-height: 1.4; }
article > ul li:before { display: inline-block; content: ""; width: 20px; height: 20px; margin-right: 6px; background: url(../img/arw_cha.png) no-repeat; vertical-align: middle; }

.yarpp-related { padding: 10px;}
.yarpp-related ul { border: 1px solid #554B2D}
.yarpp-related ul { margin: 30px 0 0; padding: 0; background: #f6f4ee; }
.yarpp-related ul li { padding: 0 0 15px 10px; font-size: 14px; color: #4d4328; font-weight: 400; line-height: 1.4; }
.yarpp-related ul li:first-child { padding-top: 15px;}
.yarpp-related ul li:before { display: inline-block; content: ""; width: 20px; height: 20px; margin-right: 6px; background: url(../img/arw_cha.png) no-repeat; vertical-align: middle; }
.yarpp-related ul:before { padding: 12px 17px; color: #fff; font-size: 18px; font-weight: 500; display: block; }
.yarpp-related ul:before { background: #c88a33 url(../img/bg_kiku03.png) no-repeat top -30px right -15px; border-bottom: 4px solid #d99b45; content: "関連記事";}
.yarpp-related ul li a { text-decoration: underline; font-size: 14px; }
.yarpp-related ul li a:hover { text-decoration: none; color: #888 }

@media print, screen and (min-width: 1025px) {
article > ul { margin: 30px 0 0; padding: 25px 30px 10px; }
article > ul li { padding: 0 0 15px; font-size: 16px; }
.yarpp-related ul li a { text-decoration: underline; font-size: 17px; }

.yarpp-related { padding: 0;}
.yarpp-related ul { border: none}

}

/* ol */
article > ol { margin: 30px 10px 0; padding: 15px 15px 10px; background: #f6f4ee; counter-reset:number; list-style: none; }
article > ol li { padding: 0 0 10px; font-size: 14px; color: #4d4328; font-weight: 400; line-height: 1.6; }
article > ol li:before { display: inline-block; width: 20px; height: 20px; line-height: 1.5; counter-increment: number; content: counter(number); margin-right: 10px; border-radius: 50%; background: #5f5436; color: #fff; font-weight: 500; text-align: center; font-size: 12px; }
@media print, screen and (min-width: 1025px) {
article > ol { margin: 30px 0 0; padding: 25px 30px 10px; }
article > ol li { padding: 0 0 15px; font-size: 16px; }
article > ol li:before { width: 22px; height: 22px; font-size: 14px; }
}

/* blockquote */
article > blockquote { position: relative; margin: 20px 10px; padding: 15px 15px 30px; border: 1px solid #d6d1c4; line-height: 1.4; }
article > blockquote:before { display: inline-block; content: ""; position: absolute; width: 78px; height: 65px; bottom: -15px; right: 20px; background: url(../img/ico_citing.png) no-repeat; }
@media print, screen and (min-width: 1025px) {
article > blockquote { margin: 40px 0 0; padding: 35px; line-height: 1.6; }
}

/* reference */
article .reference { margin: 20px 10px; padding: 15px; background: #f6f4ee; text-align: center; }
article .reference:before { display: inline-block; content: ""; width: 20px; height: 20px; margin-right: 6px; background: url(../img/arw_cha.png) no-repeat; vertical-align: middle; }
@media print, screen and (min-width: 1025px) {
article .reference { margin: 40px 0 0; padding: 25px 30px; }
}

/* together */
.together { position: relative; clear: both; margin: 40px 0 0; padding: 20px 0 0; border-top: 1px solid #cdc6b6; text-align: center; }
.together:before { position: absolute; top: -25px; left: -5px; content: "チェック"; display: inline-block; width: 70px; height: 70px; padding-top: 25px; font-size: 14px; color: #fff; background: url(../img/ptg_red.png) no-repeat; background-size: contain; }
.together > div { margin: 20px 5px 0; text-align: left; display: flex; flex-wrap: wrap; justify-content: space-between; }
.together > div > div { width: 49%; margin: 0 0 20px; padding: 0 5px; line-height: 1.6; }
.together > div > div a { font-size: 13px; font-weight: 400; }
.together > div > div img { margin-bottom: 10px; }

@media print, screen and (min-width: 1025px) {
.together { margin: 60px 0 0; padding: 30px 0 0; }
.together:before { top: -40px; left: -30px; width: 100px; height: 100px; padding-top: 40px; font-size: 18px; }
.together > div { margin: 30px -14px -14px 0; flex-wrap: nowrap; }
.together > div > div { width: 190px; margin: 0 14px 14px 0; padding: 0; }
.together > div > div a { font-size: 15px; }
}

/* share */ 
.share ul { text-align: center; }
.share li { display: inline-block; margin: 0 10px 0 0; }
.share li a { position: relative; display: block; width: 60px; height: 50px; padding: 15px 5px 10px 0; border-bottom: 3px solid #333; font-size: 16px; font-weight: 500; text-align: right; text-decoration: none; }
.share li.tw a { color: #0dafed; border-bottom: 3px solid #42c1f2; }
.share li.fb a { color: #4361af; border-bottom: 3px solid #4361af; }
.share li.hb a { color: #1787db; border-bottom: 3px solid #1787db; }
.share li.line a { color: #4bd24b; border-bottom: 3px solid #4bd24b; }
.share li a:before { position: absolute; top: 15px; left: 0; display: inline-block; content: ""; width: 22px; height: 22px; }
.share li.tw a:before { background: url(../img/shr_tw.png) no-repeat; }
.share li.fb a:before { background: url(../img/shr_fb.png) no-repeat; }
.share li.hb a:before { background: url(../img/shr_hb.png) no-repeat; }
.share li.line a:before { background: url(../img/shr_line.png) no-repeat; }

@media print, screen and (min-width: 1025px) {
.share { padding-bottom: 15px;}
.share li { margin: 0 20px 0 0; }
.share li a { width: 70px; height: 60px; padding: 25px 10px 20px 0; font-size: 18px; }
.share li a:before { top: 22px; }
}

/* status */
.status { overflow: hidden; margin: 0 10px 20px; }
.status .path { float: left; }
.status .path li { float: left; margin: 0 10px 0 0; line-height: 1.4; }
.status .path li:after { display: inline-block; content: "|"; margin-left: 10px; }
.status .path li:last-child:after { display: none; }
.status .date { float: right; line-height: 1.4; }

@media print, screen and (min-width: 1025px) {
.status { margin: 0 0 30px; }
}

/* mokuji */
.mokuji { position: relative; margin: 20px 10px; padding: 40px 15px 15px; border: 1px solid #cdc6b6; background: #f6f4ee; }
.mokuji:before { position: absolute; top: 15px; left: 50%; display: inline-block; margin-left: -15px; content: "目次"; font-size: 18px; font-weight: 400; color: #4d4328; }
.mokuji ol li { padding: 6px 0; font-size: 14px; font-weight: 400; line-height: 1.4; }
.mokuji ol li:before { display: inline-block; content: ""; width: 20px; height: 20px; margin-right: 5px; background: url(../img/arw_cha.png) no-repeat; vertical-align: middle; }

@media print, screen and (min-width: 1025px) {
.mokuji { margin: 0; padding: 40px 30px 20px; }
.mokuji:before { top: 22px; margin-left: -10px; font-size: 22px; }
.mokuji ol li { padding: 8px 0; font-size: 18px; }
}

.ph-r,.ph-l { margin: 15px 0; }
@media print, screen and (min-width: 1025px) {
.ph-r { float: right; margin: 30px 0 0 60px; }
.ph-l { float: left; margin: 30px 60px 0 0; }
}

/* gmapbox */
.gmapbox { margin: 30px 0 0; }
.gmaptbl { margin: 20px 10px 0; }
.gmaptbl table { width: 100%; border: 1px solid #ccc; }
.gmaptbl th { min-width: 30%; padding: 10px; font-size: 12px; vertical-align: middle; color: #4d4328; background: #f6f4ee; border: 1px solid #cdc6b6; line-height: 1.4; text-align: right;  }
.gmaptbl td { padding: 10px; vertical-align: middle; font-size: 12px; text-align: left; border: 1px solid #cdc6b6; line-height: 1.4; text-align: left; }

@media print, screen and (min-width: 1025px) {
.gmapbox { margin: 60px 0 0; border: 7px solid #fff; box-shadow: 0 0 0 1px #ccc; }
.gmaptbl { margin: 40px 210px 0; }
.gmaptbl table { width: 100%; border: 1px solid #ccc; }
.gmaptbl th { min-width: 150px; padding: 20px; font-size: 16px; line-height: 1.6; }
.gmaptbl td { padding: 20px; font-size: 16px; line-height: 1.6; }
}

/* sosaibox */
.sosaibox { margin: 20px 0 0; }
.sosaibox .title { position: relative; padding: 0 10px 15px; font-size: 26px; font-weight: 700; color: #4d4328; border-bottom: 1px solid #afaba2; }
.sosaibox .title:before { position: absolute; bottom: -1px; left: 0; display: block; content: ""; width: 150px; height: 2px; background: #575142; }
.sosaibox table { width: 100%; text-align: left; }
.sosaibox tr { border-bottom: 1px solid #afaba2; }
.sosaibox th { width: 20%; padding: 10px; font-size: 12px; vertical-align: middle; color: #4d4328; background: #f6f4ee; line-height: 1.4;  }
.sosaibox td { padding: 10px; vertical-align: middle; font-size: 12px; line-height: 1.4; }
.sosaibox .tagbox { margin: 15px 10px; }

@media print, screen and (min-width: 1025px) {
.sosaibox { margin: 30px 0 0; }
.sosaibox .title { padding: 0 0 20px; font-size: 42px; }
.sosaibox .title:before { width: 315px; height: 3px; }
.sosaibox .image { float: left; width: 400px; }
.sosaibox .table { float: right; width: 800px; }
.sosaibox table { border-top: 1px solid #afaba2; }
.sosaibox th { width: 160px; padding: 13px 15px; font-size: 15px; line-height: 1.6; }
.sosaibox td { padding: 13px 15px; font-size: 15px; line-height: 1.6; }
.sosaibox .tagbox { margin: 20px 0 30px; }

}

/* tagbox */
.tagbox { margin: 0 -6px -6px 0; }
.tagbox > li { float: left; margin: 0 5px 5px 0; }
.tagbox span { display: inline-block; padding: 5px 12px 7px; background: #f1efe8; border-radius: 14px; color: #4d4328; font-size: 12px; font-weight: 500; vertical-align: middle; }
.tagbox .kasou span { background: #b55e8b; color: #fff; }
.tagbox .chusya span { background: #ce5850; color: #fff; }
.tagbox .ekichika span { background: #d97c44; color: #fff; }
.tagbox .anchi span { background: #3873ab; color: #fff; }
.tagbox .syuku span { background: #4588d1; color: #fff; }
.tagbox .baria span { background: #e3a43d; color: #fff; }
.tagbox .reian span { background: #be9150; color: #fff; }
.tagbox .s200nin span { background: #71b446; color: #fff; }
.tagbox .saijyo span { background: #6e654d; color: #fff; }

@media print, screen and (min-width: 1025px) {
.tagbox { margin: 0 -8px -8px 0; }
.tagbox > li { margin: 0 8px 8px 0; }
.tagbox span { padding: 8px 20px 10px; border-radius: 20px; font-size: 15px; }
}

/* planlistbox */
.planlistbox { margin: 30px 10px 0; }
.planlistbox li { margin: 0 0 15px; background: #fff; }
.planlistbox li .wraplink { position: relative; padding: 15px; text-decoration: none;}
.siro .planlistbox li { border: 1px solid #cdc6b6; }
.planlistbox .title { margin-top: 15px; font-size: 26px; font-weight: 500; color: #4d4328; text-align: center; }
.planlistbox .price { position: relative; margin: 10px 0 5px; font-size: 32px; font-weight: 500; color: #b5382f; line-height: 1.2; }
.planlistbox .price span { font-size: 16px; }
.planlistbox .price:before { display: inline-block; content: "実質費用"; margin: -4px 10px 0 -5px; padding: 6px 18px; background: #b5382f; border-radius: 18px; color: #fff; font-size: 14px; vertical-align: middle; }
.planlistbox p { margin-bottom: 10px; }
.planlistbox .tbl { width: 100%; font-size: 12px; font-weight: 400; text-align: center; }
.planlistbox th { width: 25%; padding: 15px 0; background: #f1efe8; border: 1px solid #cac5b7; }
.planlistbox td { width: 25%; padding: 15px 10px; border: 1px solid #cac5b7;  }
.planlistbox .spon { display: inline-block; margin-top: 10px; padding: 10px 20px; background: #f4f4f4; border-radius: 20px; color: #333; font-size: 12px; vertical-align: middle; }

@media print, screen and (min-width: 768px) {
.planlistbox { margin: 40px 0 0; }
.planlistbox ul { margin: 0 0 -20px; }
.planlistbox li { margin: 0 0 20px; }
.planlistbox li:hover { box-shadow: 0 0 10px 5px rgba(86,76,47,0.05); }
.planlistbox li .wraplink { min-height: 300px; padding: 38px 38px 38px 420px; }
.planlistbox .image { position: absolute; top: 40px; left: 40px; }
.planlistbox .title { margin: 0; font-size: 38px; text-align: left; }
.planlistbox a:hover .title { text-decoration: underline; }
.planlistbox .price { margin: 15px 0 5px; font-size: 40px; }
.planlistbox .price span { font-size: 24px; }
.planlistbox .price:before { padding: 8px 20px; border-radius: 20px; font-size: 15px; }
.planlistbox .tbl { width: 360px; font-size: 14px; }
.planlistbox .spon { position: absolute; bottom: 30px; right: 30px; }
}

/* saijolistbox */
.saijolistbox { margin: 30px 10px 0; }
.saijolistbox > ul > li { margin: 0 0 10px; background: #fff; }
.saijolistbox > ul > li .wraplink { overflow: hidden; display: block; padding: 15px; text-decoration: none; }
.saijolistbox .grop { padding: 15px 0 0; }
.saijolistbox .tagbox { margin-top: 20px; }
.saijolistbox .title { position: relative; padding-bottom: 20px; font-size: 18px; font-weight: 700; color: #4d4328; border-bottom: 1px solid #afaba2; }
.saijolistbox .title:before { position: absolute; bottom: -1px; left: 0; display: block; content: ""; width: 130px; height: 3px; background: #575142; }
.saijolistbox .name { display: inline-block; font-size: 26px; font-weight: 500; color: #4d4328; }
.saijolistbox .add { display: inline-block; margin-top: 10px; font-size: 14px; font-weight: 400; }

.saijolistbox table { width: 100%;
  
}
.saijolistbox table th{
  background: #f1efe8;  border: 1px solid #999; padding: 5px 10px; }
.saijolistbox table td{
  background: #fff; border: 1px solid #999; padding: 5px 10px; }


@media print, screen and (min-width: 1025px) {
.saijolistbox { margin: 40px 0 0; }
.saijolistbox > ul { margin: 0 0 -20px; }
.saijolistbox > ul > li { margin: 0 0 20px; }
.saijolistbox > ul > li:hover { box-shadow: 0 0 10px 5px rgba(86,76,47,0.05); }
.saijolistbox > ul > li .wraplink { padding: 30px; }
.saijolistbox .image { float: left; width: 320px; }
.saijolistbox .grop { float: left; width: 790px; margin-left: 50px; padding: 0; }

.saijolistbox .title { font-size: 38px; }
.saijolistbox .title:before { width: 315px; }
.saijolistbox .name { font-size: 38px; }
.saijolistbox a:hover .name { text-decoration: underline; }
.saijolistbox .add { margin-left: 15px; font-size: 16px; font-weight: 500; }
}

/* flexbox */
.flexbox { display: none; position: fixed; bottom: 0; left: 0; z-index: 998; width: 100%; box-shadow: 0 0 10px 5px rgba(86,76,47,0.05); }
.flexbox .inner { position: relative; min-height: 90px; padding: 14px 10px 0; background: #fff url(../img/respons_bg.png) no-repeat bottom right -60px; background-size: 185px; }
.flexbox .inner:before { position: absolute; top: 4px; left: 0; z-index: 2; content: ""; display: block; width: 100%; height: 2px; background: #6b6247; }
.flexbox .inner:after { display: none; }
.flexbox .title { margin-bottom: 5px; font-size: 16px; font-weight: 500; color: #4d4328; }
.flexbox .tel { position: relative; display: inline-block; margin: 0 0 5px; font-size: 28px; font-weight: 700; color: #b5382f; line-height: 1.2; }
.flexbox .tel a { color: #b5382f; }
.flexbox .tel:before { display: inline-block; content: "相談無料"; margin: -4px 10px 0 -5px; padding: 5px 16px; background: #b5382f; border-radius: 16px; font-weight: 500; color: #fff; font-size: 13px; vertical-align: middle; }
.flexbox .time { display: block; text-align: center; font-size: 11px; }
.flexbox .butan { display: none; margin-top: 7px; }
.flexbox .butan.colorbtn.ora.block { display: block!important; }

@media print, screen and (min-width: 1025px) {
.flexbox .inner { height: 180px; padding: 35px 40px 0; background-size: 375px; }
.flexbox .inner:before { top: 10px; left: 0; height: 3px; }
.flexbox .inner:after { position: absolute; bottom: -10px; right: -10px; z-index: 2; content: ""; display: block; width: 197px; height: 246px; background: url(../img/respons_img.png) no-repeat; }
.flexbox .title { margin-bottom: 10px; font-size: 26px; }
.flexbox .teltime { float: left; width: 470px; }
.flexbox .tel { font-size: 52px; }
.flexbox .tel:before { padding: 8px 20px; border-radius: 20px; font-size: 14px;  }
.flexbox .time { font-size: 14px; }
.flexbox .butan { display: block; float: left; width: 380px; margin-top: 0; margin-left: 20px; }
}

/* flexbox */
.flexbox--sm { display: none; position: fixed; bottom: 0; left: 0; z-index: 998; width: 100%; box-shadow: 0 0 10px 5px rgba(86,76,47,0.05); background: #fff url(../img/respons_bg.png) no-repeat bottom right -60px; }
.flexbox--sm .inner { display: flex; max-width: 1240px; margin: 0 auto; position: relative; padding: 20px 0 10px 10px; }
.flexbox--sm:before { position: absolute; top: 10px; left: 0; z-index: 2; content: ""; display: block; width: 100%; height: 2px; background: #6b6247; }
.flexbox--sm .teltime { display: none; }
.flexbox--sm .butan { width: calc(100% - 80px); }
.flexbox--sm .butan a { padding: 10px 8px; font-size: 14px; }

@media print, screen and (min-width: 1025px) {
.flexbox--sm .inner { padding: 30px 0 15px; }
.flexbox--sm:before { top: 10px; left: 0; height: 3px; }
.flexbox--sm .teltime { display: flex; align-items: center; }
.flexbox--sm .teltime__text { display: block; text-align: center; margin: 0 10px 0 0; padding: 5px 16px; background: #296298; border-radius: 16px; font-weight: 500; color: #fff; font-size: 13px; }
.flexbox--sm .teltime__text span { display: block; }
.flexbox--sm .tel { position: relative; display: inline-block; margin: 0 0 5px; font-size: 40px; font-weight: 700; color: #b5382f; line-height: 1.2; }
.flexbox--sm .tel a { color: #b5382f; }
.flexbox--sm .time { display: block; text-align: center; font-size: 14px; }
.flexbox--sm .butan { display: block; margin: 0 25px 0 0; width: auto; }
.flexbox--sm .butan a { padding: 24px 20px 22px; font-size: 18px; }
}

/* articlebox */
.articlebox { position: relative; padding: 0 10px; }
.articlebox .title { font-size: 24px; font-weight: 700; color: #4d4328; line-height: 1.4; }
.articlebox .status { margin-bottom: 20px; }

@media print, screen and (min-width: 1025px) {
.articlebox { position: relative; min-height: 180px; padding: 30px 60px 0; }
.articlebox.end { min-height: 300px; padding: 0; }
.articlebox .title { margin-top: 20px; font-size: 38px; font-weight: 700; color: #4d4328; }
}

.pankbox li { float: left; width: 40px; text-align: center; font-size: 16px; font-weight: 500; }
.pankbox li a, .pankbox li span { display: block; padding: 15px 0; border-top: 3px solid #fff; }
.pankbox li a:hover, .pankbox li span { border-bottom: 3px solid #7f6e3c; background: #f1efe8; }

@media print, screen and (min-width: 1025px) {
.pankbox { position: absolute; bottom: 0; right: 0; }
.end .pankbox { top: 0; bottom: inherit; }
.pankbox li { float: left; width: 40px; text-align: center; font-size: 16px; font-weight: 500; }
.pankbox li a, .pankbox li span { display: block; padding: 15px 0; border-top: 3px solid #fff; }
.pankbox li a:hover, .pankbox li span { border-bottom: 3px solid #7f6e3c; background: #f1efe8; }
.end .pankbox li a:hover, .end .pankbox li span { border-top: 3px solid #7f6e3c; border-bottom: none; }
}

/* detailistbox */
.detailistbox { border-top: 1px solid #cdc6b6; }
.detailistbox li { background: #fff; border-bottom: 1px solid #cdc6b6; }
.detailistbox li .wraplink { overflow: hidden; display: block; padding: 15px 10px 10px; text-decoration: none; }
.detailistbox .image { float: left; width: 130px; margin: 0 8px 0 0; }
.detailistbox .title { font-size: 16px; font-weight: 500; color: #4d4328; line-height: 1.4; }
.detailistbox p, .detailistbox .view { display: none; }

@media print, screen and (min-width: 1025px) {
.detailistbox li:hover { background: #f6f4ee; }
.detailistbox li .wraplink { padding: 28px; }
.detailistbox .image { width: inherit; margin: 0 40px 0 0; }
.detailistbox .title { font-size: 24px; }
.detailistbox a:hover .title { text-decoration: underline; }
.detailistbox p { display: block; margin: 10px 0; font-size: 16px; }
.detailistbox .view { display: inline-block; padding: 10px 20px; background: #296298; border-radius: 20px; color: #fff; font-size: 14px; vertical-align: middle; }
.detailistbox .view span { display: inline-block; margin-left: 5px; font-size: 12px; }
}

/* refinebox */
.refinebox { margin: 0 10px 20px; }
/* .refinebox ul { margin-right: -15px; } */
.refinebox li { float: left; width: 45%; margin-right: 15px; background: #fff; border: 2px solid #a59d8a; border-radius: 5px; text-align: center; }
.refinebox li a { position: relative; display: block; padding: 20px 0; font-size: 16px; }
.refinebox li a:after { position: absolute; bottom: 0; left: 0; content: ""; display: block; width: 100%; height: 3px; background: rgba(0,0,0, 0.1);  }
.refinebox li i { display: inline-block; content: ""; width: 20px; height: 20px; margin-right: 5px; background: url(../img/ico_acc.png) no-repeat; vertical-align: middle; }
.refinebox li:nth-child(2) i { background: url(../img/ico_chk.png) no-repeat; }

@media print, screen and (min-width: 1025px) {
.refinebox { position: absolute; top: 25px; right: 0; margin: 0; }
.refinebox ul { margin-right: 0; }
.refinebox li { width: auto; margin-left: 20px; }
.refinebox li a { width: 240px; padding: 15px 20px; }
}

/* overlay */
#shikucho-disp, #jyoken-disp { display: none; position: fixed; top: 0; left: 0; z-index: 1001; width: 100%; height: 100%; }
#shikucho-disp > .wrap, #jyoken-disp > .wrap { position: relative; display: table-cell; vertical-align: middle; text-align: center; }
#shikucho-disp .batu, #jyoken-disp .batu { position: absolute; top: 0; right: 0; width: 50px; height: 50px; background: #666 url(../img/ico_sirobatu.png) no-repeat center center; background-size: 20px; }
#overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; text-align: center; background: rgba(0, 0, 0, 0.8); z-index: 1000; }

@media print, screen and (min-width: 1025px) {
#shikucho-disp .batu, #jyoken-disp .batu { top: -70px; width: 70px; height: 70px; background-size: 25px; }
}

/* sogiplan */
.sogiflowbox, .sogipricebox { margin: 30px 0 0; }
.sogiflowbox .innerbox { padding: 10px; background: #fff; }
.sogipricebox .innerbox { padding: 15px 15px 20px; background: #fff; }
.sogipricebox .innerbox p { margin-top: 15px; }
.sogipricebox .toppar { position: relative; }
.sogipricebox .toppar .text { width: 77%; }
.sogipricebox .toppar .image { width: 20%; position: absolute; top: 0; right: 0; }
.sogipricebox .toppar .image img { border: 3px solid #fff; box-shadow: 0 0 0 1px #dadada; }
.sogittl { position: relative; padding: 20px 0; font-size: 18px; font-weight: 500; color: #4d4328; border-top: 1px solid #afaba2; }
.sogittl:before { position: absolute; top: -1px; left: 0; display: block; content: ""; width: 150px; height: 2px; background: #575142; }
.sogistl { position: relative; margin-top: 30px; padding: 12px; font-size: 15px; font-weight: 500; color: #fff; border-left: 4px solid #7c7668; background: #5a564b; }

@media print, screen and (min-width: 1025px) {
.sogiflowbox, .sogipricebox { margin: 60px 0 0; }
.sogiflowbox .innerbox { text-align: left; min-height: 256px; padding: 50px; background: #fff url(../img/sogiplan_img01.jpg) no-repeat top right; }
.sogiflowbox .innerbox img { width: calc(100% - 440px); }
.sogipricebox .innerbox { padding: 40px 25px; }
.sogipricebox .innerbox p { margin-top: 30px; }
.sogittl { padding: 35px 0; font-size: 28px; }
.sogittl:before { width: 315px; height: 3px; }
.sogistl { margin-top: 60px; padding: 20px; font-size: 18px; border-left: 8px solid #7c7668; }
}

/* pricefirst */
.pricefirst { display: flex; align-items: center; justify-content: space-between; }
.pricefirst .image img { border: 3px solid #fff; box-shadow: 0 0 0 1px #dadada; }
.pricefirst .repletion { display: flex; justify-content: flex-start; align-items: center; width: 77%; margin: 20px 0 0; }
.pricefirst .repletion .inqury { clear: both; }
.pricefirst .repletion .price { position: relative; display: inline-block; margin: 10px 0; font-size: 28px; font-weight: 700; color: #b5382f; line-height: 1; }
.pricefirst .repletion .price small { font-size: 18px; }
.pricefirst .repletion .price:before { display: inline-block; content: "基本セット料金"; margin: 0 8px 0 -2px; padding: 6px 15px; background: #b5382f; border-radius: 16px; font-weight: 500; color: #fff; font-size: 13px; display: block; max-width: 100px; }
.pricefirst .repletion .table { width: 50%; margin-left: 40px; }
.pricefirst .repletion .table .tbl { width: 100%; font-size: 12px; font-weight: 400; text-align: center; }
.pricefirst .repletion .table th { width: 25%; padding: 15px 0; background: #f1efe8; border: 1px solid #cac5b7; }
.pricefirst .repletion .table td { width: 25%; padding: 15px 10px; border: 1px solid #cac5b7;  }
.pricefirst .repletion .inqury { position: relative; clear: both; margin-top: 15px; padding: 15px; border: 2px solid #6b6247; }
.pricefirst .repletion .inqury h4 { display: none; }
.pricefirst .repletion .inqury .tel { position: relative; font-size: 26px; font-weight: 700; color: #b5382f; line-height: 1.2; }
.pricefirst .repletion .inqury .tel span { font-size: 18px; }
.pricefirst .repletion .inqury .tel:before { display: inline-block; content: "相談無料"; margin: -4px 6px 0 -5px; padding: 6px 14px; background: #b5382f; border-radius: 15px; color: #fff; font-size: 13px; vertical-align: middle; }
.pricefirst .repletion .inqury .time { margin-top: 8px; }
.pricefirst .repletion .spon { margin-top: 10px; font-size: 12px; }

@media print, screen and (min-width: 1025px) {
.pricefirst .repletion .price { font-size: 58px; }
.pricefirst .repletion .price small { font-size: 34px; }
.pricefirst .repletion .price:before { margin: 0 10px 0 -5px; padding: 8px 20px; border-radius: 20px; font-size: 14px; }
.pricefirst .repletion .table .tbl { font-size: 14px; }
.pricefirst .repletion .inqury { min-height: 152px; padding: 20px; }
.pricefirst .repletion .inqury:before { position: absolute; bottom: 0; right: 0; display: inline-block; content: ""; width: 227px; height: 177px; background: url(../img/respons_img02.png) no-repeat; vertical-align: middle; }
.pricefirst .repletion .inqury h4 { display: block; font-size: 22px; font-weight: 500; color: #4d4328; }
.pricefirst .repletion .inqury .tel { margin-top: 10px; font-size: 46px; font-weight: 500; }
.pricefirst .repletion .inqury .tel span { font-size: 24px; }
.pricefirst .repletion .inqury .tel:before { margin: -4px 10px 0 -5px; padding: 8px 20px; border-radius: 20px; font-size: 15px; }
.pricefirst .repletion .inqury .time { width: 400px; margin-top: 10px; text-align: center; }
.pricefirst .repletion .spon { text-align: right; }
}


/* thumlist */
.thumlist { margin: 10px 0 0; text-align: center; }
.thumlist li { float: left; width: 50%; margin: 0 0 20px; padding-right: 5px; font-size: 13px; font-weight: 400; color: #4d4328; }
.thumlist li:nth-child(even) { padding-right: 0; padding-left: 5px; }
.thumlist img { margin-bottom: 10px; }

@media print, screen and (min-width: 1025px) {
.thumlist { margin: 20px -30px -30px 0; padding-left: 10px; }
.thumlist li { width: inherit; margin: 0 30px 30px 0; padding: 0 !important; font-size: 15px; }
}

/* saijolist */
.saijolist { margin: 20px 0 0; text-align: center; }
.saijolist li { float: left; width: 50%; margin: 0 0 20px; padding-right: 5px; font-size: 12px; font-weight: 400; color: #4d4328; }
.saijolist li:nth-child(even) { padding-right: 0; padding-left: 5px; }
.saijolist img { margin-bottom: 10px; }

@media print, screen and (min-width: 1025px) {
.saijolist { margin: 40px -18px -18px 0; }
.saijolist li { width: inherit; margin: 0 18px 18px 0; padding: 0 !important; font-size: 15px; }
}

/* orderlist */
.orderlist { margin: 20px 0 0; text-align: center; }
.orderlist li { float: left; width: 50%; margin: 0 0 20px; padding-right: 5px; font-size: 12px; }
.orderlist li:nth-child(even) { padding-right: 0; padding-left: 5px; }
.orderlist img { margin-bottom: 10px; }
.orderlist .price { margin-bottom: 10px; font-size: 24px; color: #b5382f; font-weight: 500; }
.orderlist .price small { font-size: 14px; }
@media print, screen and (min-width: 1025px) {
.orderlist { margin: 40px 0 -30px 0; }
.orderlist li { width: calc(33.333333% - 14px); margin: 0 0 30px 0; padding: 0 !important; font-size: 15px; }
.orderlist li:not(:nth-child(3n + 1)) { margin-left: 20px }
.orderlist .price { font-size: 40px; font-weight: 700; }
.orderlist .price small { font-size: 24px; }
}

/* borderbox */
.borderbox { margin: 20px 0 0; }
.borderbox > div { margin: 0 0 15px; padding: 20px 10px; border: 1px solid #cdc6b6; background: url(../img/bg_kiku02.png) no-repeat bottom -10px right -10px; }
.borderbox h5 { font-size: 16px; font-weight: 400; color: #4d4328; }
.borderbox ul { margin-top: 20px; }
.borderbox li { margin-bottom: 12px; }
.borderbox li:before { display: inline-block; content: "・"; }

@media print, screen and (min-width: 1025px) {
.borderbox { margin: 40px 0 -20px 0; }
.borderbox > div { float: left; width: calc(50% - 10px); min-height: 450px; margin: 0 0 20px 0; padding: 40px 30px 30px; }
.borderbox > div + div { margin-left: 20px; }
.borderbox h5 { font-size: 18px; }
.borderbox ul { margin-top: 30px; }
.borderbox li { margin-bottom: 17px; }
}

/* tablebox */
.tablebox { margin: 20px 0 0; }
.tablebox table { width: 100%; text-align: center; border: 1px solid #d0cbc1; font-size: 12px; }
.tablebox th { width: 50%; padding: 10px 0; font-weight: 400; border-bottom: 1px solid #d0cbc1; vertical-align: middle; }
.tablebox thead th { background: #f6f4ee; }
.tablebox td { width: 50%; padding: 10px 0; border-bottom: 1px solid #d0cbc1; vertical-align: middle; }
.tablebox th + th, .tablebox th + td { border-left: 1px dotted #d0cbc1; }
.tablebox tbody tr:last-child th, .tablebox tbody tr:last-child td { border-bottom: none; }

@media print, screen and (min-width: 1025px) {
.tablebox { margin: 30px 80px 0; }
.tablebox table { font-size: 14px; }
.tablebox th { padding: 15px 0; }
.tablebox td { padding: 15px 0; }
}

/* inquirybox */
.inquirybox { margin: 20px 0 0; padding: 30px 15px; background: #fff; }
.inquirybox .inquiryimg h2 { margin-bottom: 15px; font-size: 22px; font-weight: 500; color: #4d4328; }

.inquirybox .freebox { margin-top: 30px; padding: 15px; border: 2px solid #6b6247; }
.inquirybox .freebox h3 { font-size: 16px; font-weight: 500; color: #4d4328; line-height: 1.4; }

.inquirybox .freebox .tel { position: relative; margin-top: 10px; font-size: 24px; font-weight: 700; color: #b5382f; line-height: 1.2; }
.inquirybox .freebox .tel span { font-size: 18px; }
.inquirybox .freebox .tel:before { display: inline-block; content: "相談無料"; margin: -4px 6px 0 -5px; padding: 5px 13px 6px; background: #b5382f; border-radius: 13px; color: #fff; font-size: 13px; vertical-align: middle; }

@media print, screen and (min-width: 1025px) {
.inquirybox { margin: 40px 0 0; padding: 60px; }
.inquirybox .inquiryimg { min-height: 360px; background: url(../img/inquiry_img.jpg) no-repeat top right; background-size: 470px; }
.inquirybox .inquiryimg h2 { margin-bottom: 20px; font-size: 26px; }
.inquirybox .inquiryimg p { width: 560px; }
.inquirybox .freebox { width: 560px; margin-top: 40px; padding: 25px; }
.inquirybox .freebox h3 { font-size: 20px; }
.inquirybox .freebox .tel { margin-top: 10px; font-size: 46px; font-weight: 500; }
.inquirybox .freebox .tel span { font-size: 24px; }
.inquirybox .freebox .tel:before { margin: -4px 10px 0 -5px; padding: 8px 20px; border-radius: 20px; font-size: 15px; }
}

/* inquirytbl */
.inquirytbl { margin: 20px 0 0; }
.inquirytbl table { width: 100%; text-align: left; line-height: 1.4; border-bottom: 1px solid #d0cbc1; }
.inquirytbl th { display: block; position: relative; padding: 15px 10px; font-weight: 400; font-size: 16px; border: 1px solid #d0cbc1; border-bottom: none; background: #f6f4ee; }
.inquirytbl .required th:before { position: absolute; top: 50%; right: 10px; display: inline-block; content: "必須"; margin-top: -13px; padding: 5px 12px 6px; background: #b5382f; border-radius: 16px; color: #fff; font-size: 12px; vertical-align: middle; }
.inquirytbl td { display: block; padding: 15px 10px; border: 1px solid #d0cbc1; border-bottom: none; font-size: 14px; }
.inquirytbl td p { font-size: 12px; }
.inquirytbl .layout + .layout { margin-top: 15px; }
.inquirytbl .list01 li { margin-bottom: 10px; }
.inquirytbl .list02 li { display: inline-block; padding-right: 20px; }
.inquirytbl .kojin { margin: 30px 0 20px; text-align: center; }
.inquirytbl .boderbtn button { display: block; width: 100%; font-weight: 700; cursor: pointer; font-size: 14px; text-align: center; }

@media print, screen and (min-width: 1025px) {
.inquirytbl { margin: 40px 0 0; }
.inquirytbl table { border-bottom: none; }
.inquirytbl th { display: table-cell; width: 240px; height: 100px; padding: 15px 20px; border: 1px solid #d0cbc1; border-right: none; }
.inquirytbl .required th:before { right: 15px; margin-top: -15px; padding: 7px 15px; border-radius: 20px; font-size: 15px; }
.inquirytbl td { display: table-cell; border: 1px solid #d0cbc1; padding: 15px 20px 20px; font-size: 16px; }
.inquirytbl td p { font-size: 13px; }
.inquirytbl .layout { float: left; width: 325px; margin-right: 25px; }
.inquirytbl .layout + .layout { margin-top: 0; }
.inquirytbl .layout.yubin { width: 160px; }
.inquirytbl .list01 li { margin-bottom: 7px; }
.inquirytbl .list02 li { float: left; }
.inquirytbl .kojin { margin: 40px 0 30px; }
.inquirytbl .boderbtn button { display: inline-block; width: 380px; font-weight: 700; cursor: pointer; font-size: 16px; }
}

/* input */
.form input[type=text], .form input[type=email], .form input[type=tel], .form input[type=number] { width: 100%; height: 40px; margin-top: 8px; padding: 3px; border: 1px solid #dadada; border-radius: 3px; font-size: 16px; font-weight: 400; background: #f7f7f7; box-shadow: 0 0 5px -3px rgba(0,0,0, 0.2) inset; }
.form textarea { width: 100%; height: 80px; margin-top: 8px; padding: 3px; border: 1px solid #dadada; border-radius: 3px; font-size: 16px; font-weight: 400; background: #f7f7f7; box-shadow: 0 0 5px -3px rgba(0,0,0, 0.2) inset; }
.form .boderbtn input[type=submit] { display: block; width: 100%; font-weight: 700; cursor: pointer; font-size: 14px; text-align: center; }
.form .boderbtn input.arw01 { background: #C88A33; margin: 0 0 40px; }

@media print, screen and (min-width: 1025px) {
.form input[type=text], .form input[type=email], .form input[type=tel], .form input[type=number] { width: 320px; height: 45px; margin-top: 10px; padding: 4px; font-size: 18px; }
.form .yubin input[type=number] { width: 150px; }
.form .adres input[type=text] { width: 490px; }
.form textarea { width: 670px; height: 100px; margin-top: 10px; padding: 4px; font-size: 18px; }
.form .boderbtn input[type=submit] { display: inline-block; width: 380px; font-weight: 700; cursor: pointer; font-size: 16px; }
}

/* checkbox radio */
.form input[type="checkbox"], .form input[type="radio"] { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.form label { position: relative; display: block; word-break: break-all; }
.form label input[type="checkbox"] + span,
.form label input[type="radio"] + span { position: relative; padding: 0 0 0 30px; }
.form label span{display:inline-block;}
.form label input[type="checkbox"] ,.form label input[type="radio"] {position:absolute;top:0;left:0;opacity:0;}
.form label input[type="checkbox"] + span::before,.form label input[type="checkbox"] + span::after{position:absolute;top:0;left:0;display:inline-block;content:'';box-sizing:border-box;}
.form label input[type="checkbox"] + span::before{z-index:0;background-color:transparent;width:22px;height:22px;border:2px #00acc1 solid;border-radius:5px;}
.form .kojin label input[type="checkbox"] + span::before{z-index:0;background-color:transparent;width:22px;height:22px;border:2px #ec407a solid;border-radius:5px;}
.form label input[type="checkbox"] + span::after{z-index:1;width:6px;height:9px;margin:5px 8px;}
.form label input[type="checkbox"]:checked + span::before{background-color:#00acc1;}
.form .kojin label input[type="checkbox"]:checked + span::before{background-color:#ec407a;}
.form label input[type="checkbox"]:checked + span::after{border:2px solid #fff;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);border-width:0 2px 2px 0;}
.form label input[type="radio"] + span::before{position:absolute;display:inline-block;content:'';box-sizing:border-box;border-radius:22px;z-index:0;top:0;left:0;background-color:transparent;width:22px;height:22px;border:3px #4caf50 solid;}
.form label input[type="radio"]:checked + span::before{ border-width:8px;}


.hover { background: #fff9f2; cursor: pointer; }

/*number付きリストを途中から開始したい場合のスタイル*/
article > ol[start="1"] {
  counter-reset: numberReset 0;
}
article > ol[start="1"] li:before {
  counter-increment: numberReset;
  content: counter(numberReset);
}
article > ol[start="2"] {
  counter-reset: numberReset 1;
}
article > ol[start="2"] li:before {
  counter-increment: numberReset;
  content: counter(numberReset);
}
article > ol[start="3"] {
  counter-reset: numberReset 2;
}
article > ol[start="3"] li:before {
  counter-increment: numberReset;
  content: counter(numberReset);
}
article > ol[start="4"] {
  counter-reset: numberReset 3;
}
article > ol[start="4"] li:before {
  counter-increment: numberReset;
  content: counter(numberReset);
}
article > ol[start="5"] {
  counter-reset: numberReset 4;
}
article > ol[start="5"] li:before {
  counter-increment: numberReset;
  content: counter(numberReset);
}
article > ol[start="6"] {
  counter-reset: numberReset 5;
}
article > ol[start="6"] li:before {
  counter-increment: numberReset;
  content: counter(numberReset);
}
article > ol[start="7"] {
  counter-reset: numberReset 6;
}
article > ol[start="7"] li:before {
  counter-increment: numberReset;
  content: counter(numberReset);
}
article > ol[start="8"] {
  counter-reset: numberReset 7;
}
article > ol[start="8"] li:before {
  counter-increment: numberReset;
  content: counter(numberReset);
}
article > ol[start="9"] {
  counter-reset: numberReset 8;
}
article > ol[start="9"] li:before {
  counter-increment: numberReset;
  content: counter(numberReset);
}
article > ol[start="10"] {
  counter-reset: numberReset 9;
}
article > ol[start="10"] li:before {
  counter-increment: numberReset;
  content: counter(numberReset);
}

/*葬儀社一覧ページ*/
.sogisyalist {
  margin: 50px 0;
}
.sogisyalistTtl {
  font-size: 45px;
  color: #4d4328;
  text-align: center;
  margin: 50px auto;
}

.sogisyalistitem .arealist {
  display: flex;
  margin: 0 0 20px;
}
.sogisyalistitem .arealist li {
  font-size: 17px;
  color: #fff;
  background: #d97c44;
  font-weight: 500;
  border-radius: 3px;
  padding: 4px 8px;
  border: 1px solid #b76635;
}
.sogisyalistitem .arealist li + li {
  margin-left: 3px;
}
.sogisyalist .sogisyalistitem {
  background: #fff url(../img/bg_kiku01.png) no-repeat -50px -12px;
  padding: 25px 20px;
  border: 1px solid #afaba2;
}
.sogisyalist .sogisyalistitem + .sogisyalistitem {
  margin: 50px 0 0;
}
.sogisyalist .sogisyalistitem .wraplink {
  padding: 15px 25px 25px;
  position: relative;
  z-index: 2;
}
.sogisyalist .sogisyalistitem .hover {
  background: initial!important;
}
.sogisyattlWrap {
  margin: 0 0 25px;
  border-bottom: 1px solid #afaba2;
  padding-bottom: 16px;
  position: relative;
}
.sogisyattlWrap::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
  content: "";
  width: 33%;
  height: 3px;
  background: #575142;
}
.sogisyalist .sogisyalistitem .sogisyattl {
  font-size: 38px;
  font-weight: 600;
  color: #4d4328;
  margin: 0 0 18px;
}
.sogisyalist .sogisyalistitem .sogisyattl a {
  text-decoration: none;
}
.sogisyalist .sogisyalistitem .sogisyacatch {
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}
.sogisyalist .sogisyalistitem .col2Wrap {
  flex-direction: row-reverse;
  margin: 15px 0 0;
}
.sogisyaListThumb {
  width: 40%;
  min-width: 420px;
  margin-left: 40px;
}
.sogisyaListThumb img {
  width: 100%;
  height: auto;
}
.sogisyaListOverview {
  width: 100%;
}
.sogisyaListOverview dl + dl {
  margin: 15px 0 0;
}
.sogisyaListOverview dt {
  margin: 0 0 10px;
  font-weight: 600;
}
.sogisyaListOverview .service .servicelist {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 15px;
}
.sogisyaListOverview .service .servicelist li {
  font-size: 17px;
  font-weight: 500;
  color: #fff;
  background: #2dbe9f;
  padding: 6px 10px;
  border-radius: 5px;
  border: 1px solid #0fa382;
  margin: 0 3px 3px 0;
}
.sogisyaListOverview .planlist {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 15px;
}
.sogisyaListOverview .planlist li {
  border-radius: 5px;
  border: 1px solid #0f6ea3;
  background: #fff;
  margin: 0 6px 3px 0;
  overflow: hidden;
}
.sogisyaListOverview .planlist li .planName {
  font-size: 19px;
  font-weight: 500;
  background: #bfdfe7;
  text-align: center;
  padding: 4px 14px;
  line-height: 1;
  letter-spacing: 0.05em;
}
.sogisyaListOverview .planlist li .planPrice {
  font-size: 18px;
  font-weight: 500;
  padding: 10px 15px;
  color: #d04439;
  text-align: center;
  line-height: 1;
}
.sogisyaListOverview .planlist li .planPrice .num {
  font-size: 30px;
  font-weight: 600;
}
.sogisyaListOverview .service {
  width: 100%;
  margin: 20px 0;
  background: #fffdf9;
  border-top: 1px solid #afaba2;
}
.sogisyaListOverview .service tr {
  border-bottom: 1px solid #afaba2;
}
.sogisyaListOverview .service tr th {
  color: #4d4328;
  vertical-align: middle;
  background: #f6f4ee;
  padding: 13px 15px;
  font-size: 15px;
  line-height: 1.6;
}
.sogisyaListOverview .service tr td {
  padding: 13px 15px;
  font-size: 15px;
  line-height: 1.6;
}
.btndetail a {
  font-size: 18px!important;
  font-weight: 600;
  color: #fff!important;
  background: #49c7ab;
  background: -moz-linear-gradient(top, #49c7ab 0%, #0eb490 100%);
  background: -webkit-linear-gradient(top, #49c7ab 0%,#0eb490 100%);
  background: linear-gradient(to bottom, #49c7ab 0%,#0eb490 100%);
  text-align: center;
  padding: 22px 0 20px;
  border-radius: 5px;
  display: block;
  text-decoration: none;
  position: relative;
}
.btndetail a:hover {
  text-decoration: underline;
  background: #58e6d0;
  background: -moz-linear-gradient(top, #58e6d0 0%, #10d8b5 100%);
  background: -webkit-linear-gradient(top, #58e6d0 0%,#10d8b5 100%);
  background: linear-gradient(to bottom, #58e6d0 0%,#10d8b5 100%);
}
.btndetail i {
  display: inline-block;
  content: "";
  width: 25px;
  height: 25px;
  margin-right: 5px;
  background: url(../img/arw_white.png) no-repeat;
  vertical-align: middle;
}
.btndetail a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 4px;
  background: rgba(255,255,255, 0.2);
}
.btndetail a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: rgba(0,0,0, 0.1);
}
.sogisyalistitem .btnWrap {
  padding: 25px;
  display: flex;
}
.sogisyalistitem .telBtn {
  margin: 0;
}
.sogisyalistitem .telBtn > * {
  position: relative;
  z-index: 10;
}
.sogisyalistitem .mail {
  background: #fff;
}
.sogisyalistitem .btnWrap > div {
  width: 100%;
}
.sogisyalistitem .btnWrap > div + div {
  margin-left: 20px;
}

/*葬儀社ページ*/
.sogisyaWrap .ttl {
  font-size: 38px;
  color: #fff;
  text-align: left;
  background: #5a564b url(../img/bg_kiku05.png) no-repeat top -45px right;
  border-bottom: 4px solid #7c7668;
  margin: 40px 0;
  padding: 22px 20px;
}
.sogisyaWrap .catch {
  background: url(../img/bg_kiku01.png) no-repeat center left;
  background-size: auto 90%;
  padding: 10px 0 25px 25px;
  margin: 0 0 25px;
  font-size: 19px;
  font-weight: 500;
  border-bottom: 4px solid #cac7bd;
}
.sogiyatoppar {
  background: #fff;
  padding: 25px 20px 15px;
}
.col2Wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.col2Wrap .sogisyaThumb {
  width: 40%;
  max-width: 490px;
}
.col2Wrap .sogisyaOverview {
  width: calc(60% - 20px);
}
.col2Wrap .sogisyaOverview .btnWrap {
  margin-top: 50px;
}
.sogisyaWrap .servicelist {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px;
}
.sogisyaWrap .servicelist li {
  font-size: 17px;
  font-weight: 500;
  color: #fff;
  background: #2dbe9f;
  padding: 6px 10px;
  border-radius: 5px;
  border: 1px solid #0fa382;
  margin: 0 3px 3px 0;
}
.other dl {
  display: flex;
  align-items: center;
}
.other dl + dl {
  margin: 10px 0 0;
}
.other dl dt {
  width: 115px;
  font-weight: 500;
  background: #e3e1d9;
  padding: 5px;
  text-align: center;
  border-radius: 5px;
  margin: 0 10px 0 0;
}
.other dl dd {
  width: calc(100% - 115px);
}
.other dl dd .arealist {
  display: flex;
}
.other dl dd .arealist li + li::before {
  content: "|";
  padding: 0 5px;
}
.telBtn {
  position: relative;
  border: 2px solid #6b6247;
  min-height: 152px;
  margin: 55px 0 20px;
  padding: 13px 25px;
  clear: both;
}
.telBtn .telBtn__ttl {
  font-size: 22px;
  font-weight: 500;
  color: #4d4328;
}
.telBtn .telBtn__number {
  font-size: 46px;
  font-weight: 500;
  color: #b5382f;
  line-height: 1.2;
  text-decoration: none;
}
.telBtn .telBtn__number::before {
  content: "相談無料";
  font-size: 15px;
  color: #fff;
  background: #b5382f;
  padding: 8px 20px;
  margin: 0 10px 5px 0;
  border-radius: 50px;
  display: inline-block;
  vertical-align: middle;
}
.telBtn .telBtn__time {
  width: 400px;
  margin-top: 10px;
  text-align: center;
}
.telBtn::after {
  content: "";
  width: 227px;
  height: 177px;
  background: url(../img/respons_img02.png) no-repeat;
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.planlistbox--sm .planlist--sm {
  display: flex;
  flex-wrap: wrap;
  margin: 50px 0;
  padding: 20px 20px 0;
  background: #e9e7e0;
}
.planlistbox--sm .planlist--sm li {
  width: calc((100% - 60px) / 4);
  margin: 0 0 20px 20px;
}
.planlistbox--sm .planlist--sm li:nth-child(4n + 1) {
  margin: 0 0 20px 0;
}
.planlistbox--sm .planlist--sm li .cont {
  padding: 15px 20px;
  background: #fff;
}
.planlistbox--sm .planlist--sm li .cont .planttl {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 15px;
}
.planlistbox--sm .planlist--sm li .cont .price {
  font-size: 32px;
  font-weight: 600;
  color: #b5382f;
}
.planlistbox--sm .planlist--sm li .cont .plansanretsi {
  color: #fff;
  line-height: 1;
  background: #4e85ba;
  display: inline-block;
  border-radius: 50px;
  padding: 5px 12px;
  margin: 15px 0 0;
}
.sogisyaWrap .singlecont {
  max-width: 1240px;
  margin: 100px auto 0;
  padding: 50px 50px 80px;
  background: #fff;
}
/*tab*/
.tabwrap {
  margin: 50px 0;
}
.tabmenu {
  display: flex;
  justify-content: center;
}
.tabmenu .tabmenuitem {
  font-size: 20px;
  font-weight: 600;
  color: #575142;
  text-align: center;
  border: 1px solid #3e6a92;
  cursor: pointer;
  min-width: 200px;
  margin: 0 8px;
  padding: 10px;
  list-style: none;
  transition: .3s;
  position: relative;
}
.tabmenu .tabmenuitem.active {
  color: #fff;
  background: linear-gradient(to bottom,  #4981c7 0%,#0e6bb4 100%);
  border-bottom: 4px solid #1260a0;
  cursor: auto;
}
.tabmenu .tabmenuitem.active::after {
  content: "";
  border-style: solid;
  border-width: 17px 7px 0 7px;
  border-color: #1260a0 transparent transparent transparent;
  display: inline-block;
  position: absolute;
  bottom: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
.tablist .tablistitem {
  display: none;
}
.tablist .tablistitem.show {
  display: block;
}
.acwrap {
  position: relative;
}
.acbtn {
  color: #fff;
  font-weight: 600;
  width: 35%;
  margin: 25px auto 0;
  background: linear-gradient(to bottom,  #ffb100 0%,#cc6d01 100%);
  border-radius: 5px;
  border-bottom: 5px solid #b96400;
  text-align: center;
  padding: 20px 0;
  font-size: 30px;
  cursor: pointer;
  position: relative;
}
.acbtn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 4px;
  background: rgba(255,255,255, 0.2);
}
.acbtn::after {
  display: inline-block;
  content: "";
  width: 25px;
  height: 25px;
  background: url(../img/arw_white.png) no-repeat;
  vertical-align: middle;
  position: absolute;
  top: 52%;
  right: 15%;
  transform: translateY(-50%) rotate(90deg);
}
.acwrap.on .acbtn {
  background: linear-gradient(to bottom,  #58e6d0 0%,#10d8b5 100%);
  border-bottom-color: #11c2a3;
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-animation: fadeIn 1s 1;
  animation: fadeIn 1s 1;

}
.acwrap.on .acbtn::after {
  transform: translateY(-50%) rotate(150deg);
}
.acwrap.on .sogipricebox > .innerbox {
  padding: 40px 25px 130px;
}
.acbtn:hover {
  background: linear-gradient(to bottom, #f5dd68 0%,#e08c00 100%);
  border-bottom: 5px solid #d08707;
}
.acitem {
  display: none;
}
/*葬儀社一覧ページ*/
.sogisyalist {
  margin: 50px 0;
}
.sogisyalistTtl {
  font-size: 45px;
  color: #4d4328;
  text-align: center;
  margin: 50px auto;
}
.sogisyalistitem .arealist {
  display: flex;
  margin: 0 0 20px;
}
.sogisyalistitem .arealist li {
  font-size: 17px;
  color: #fff;
  background: #d97c44;
  font-weight: 500;
  border-radius: 3px;
  padding: 4px 8px;
  border: 1px solid #b76635;
}
.sogisyalistitem .arealist li + li {
  margin-left: 3px;
}
.sogisyalist .sogisyalistitem {
  background: #fff url(../img/bg_kiku01.png) no-repeat -50px -12px;
  padding: 25px 20px;
  border: 1px solid #afaba2;
}
.sogisyalist .sogisyalistitem + .sogisyalistitem {
  margin: 50px 0 0;
}
.sogisyalist .sogisyalistitem .wraplink {
  padding: 15px 25px 25px;
  position: relative;
  z-index: 2;
}
.sogisyalist .sogisyalistitem .hover {
  background: initial!important;
}
.sogisyattlWrap {
  margin: 0 0 25px;
  border-bottom: 1px solid #afaba2;
  padding-bottom: 16px;
  position: relative;
}
.sogisyattlWrap::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
  content: "";
  width: 33%;
  height: 3px;
  background: #575142;
}
.sogisyalist .sogisyalistitem .sogisyattl {
  font-size: 38px;
  font-weight: 600;
  color: #4d4328;
  margin: 0 0 18px;
}
.sogisyalist .sogisyalistitem .sogisyattl a {
  text-decoration: none;
}
.sogisyalist .sogisyalistitem .sogisyacatch {
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}
.sogisyalist .sogisyalistitem .col2Wrap {
  flex-direction: row-reverse;
  margin: 15px 0 0;
}
.sogisyaListThumb {
  width: 40%;
  min-width: 420px;
  margin-left: 40px;
}
.sogisyaListThumb img {
  width: 100%;
  height: auto;
}
.sogisyaListOverview {
  width: 100%;
}
.sogisyaListOverview dl + dl {
  margin: 15px 0 0;
}
.sogisyaListOverview dt {
  margin: 0 0 10px;
  font-weight: 600;
}
.sogisyaListOverview .service .servicelist {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 15px;
}
.sogisyaListOverview .service .servicelist li {
  font-size: 17px;
  font-weight: 500;
  color: #fff;
  background: #2dbe9f;
  padding: 6px 10px;
  border-radius: 5px;
  border: 1px solid #0fa382;
  margin: 0 3px 3px 0;
}
.sogisyaListOverview .planlist {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 15px;
}
.sogisyaListOverview .planlist li {
  border-radius: 5px;
  border: 1px solid #0f6ea3;
  background: #fff;
  margin: 0 6px 3px 0;
  overflow: hidden;
}
.sogisyaListOverview .planlist li .planName {
  font-size: 19px;
  font-weight: 500;
  background: #bfdfe7;
  text-align: center;
  padding: 4px 14px;
  line-height: 1;
  letter-spacing: 0.05em;
}
.sogisyaListOverview .planlist li .planPrice {
  font-size: 18px;
  font-weight: 500;
  padding: 10px 15px;
  color: #d04439;
  text-align: center;
  line-height: 1;
}
.sogisyaListOverview .planlist li .planPrice .num {
  font-size: 30px;
  font-weight: 600;
}
.sogisyaListOverview .service {
  width: 100%;
  margin: 20px 0;
  background: #fffdf9;
  border-top: 1px solid #afaba2;
}
.sogisyaListOverview .service tr {
  border-bottom: 1px solid #afaba2;
}
.sogisyaListOverview .service tr th {
  color: #4d4328;
  vertical-align: middle;
  background: #f6f4ee;
  padding: 13px 15px;
  font-size: 15px;
  line-height: 1.6;
}
.sogisyaListOverview .service tr td {
  padding: 13px 15px;
  font-size: 15px;
  line-height: 1.6;
}
.btndetail a {
  font-size: 18px!important;
  font-weight: 600;
  color: #fff!important;
  background: #49c7ab;
  background: -moz-linear-gradient(top, #49c7ab 0%, #0eb490 100%);
  background: -webkit-linear-gradient(top, #49c7ab 0%,#0eb490 100%);
  background: linear-gradient(to bottom, #49c7ab 0%,#0eb490 100%);
  text-align: center;
  padding: 22px 0 20px;
  border-radius: 5px;
  display: block;
  text-decoration: none;
  position: relative;
}
.btndetail a:hover {
  text-decoration: underline;
  background: #58e6d0;
  background: -moz-linear-gradient(top, #58e6d0 0%, #10d8b5 100%);
  background: -webkit-linear-gradient(top, #58e6d0 0%,#10d8b5 100%);
  background: linear-gradient(to bottom, #58e6d0 0%,#10d8b5 100%);
}
.btndetail i {
  display: inline-block;
  content: "";
  width: 25px;
  height: 25px;
  margin-right: 5px;
  background: url(../img/arw_white.png) no-repeat;
  vertical-align: middle;
}
.btndetail a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 4px;
  background: rgba(255,255,255, 0.2);
}
.btndetail a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: rgba(0,0,0, 0.1);
}
.sogisyalistitem .btnWrap {
  padding: 25px;
  display: flex;
}
.sogisyalistitem .telBtn {
  margin: 0;
}
.sogisyalistitem .telBtn > * {
  position: relative;
  z-index: 10;
}
.sogisyalistitem .mail {
  background: #fff;
}
.sogisyalistitem .btnWrap > div {
  width: 100%;
}
.sogisyalistitem .btnWrap > div + div {
  margin-left: 20px;
}

/*葬儀社ページ*/
.sogisyaWrap .ttl {
  font-size: 38px;
  color: #fff;
  text-align: left;
  background: #5a564b url(../img/bg_kiku05.png) no-repeat top -45px right;
  border-bottom: 4px solid #7c7668;
  margin: 40px 0;
  padding: 22px 20px;
}
.sogisyaWrap .catch {
  background: url(../img/bg_kiku01.png) no-repeat center left;
  background-size: auto 90%;
  padding: 10px 0 25px 25px;
  margin: 0 0 25px;
  font-size: 19px;
  font-weight: 500;
  border-bottom: 4px solid #cac7bd;
}
.sogiyatoppar {
  background: #fff;
  padding: 25px 20px 15px;
}
.col2Wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.col2Wrap .sogisyaThumb {
  width: 40%;
  max-width: 490px;
}
.col2Wrap .sogisyaOverview {
  width: calc(60% - 20px);
}
.sogisyaWrap .servicelist {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px;
}
.sogisyaWrap .servicelist li {
  font-size: 17px;
  font-weight: 500;
  color: #fff;
  background: #2dbe9f;
  padding: 6px 10px;
  border-radius: 5px;
  border: 1px solid #0fa382;
  margin: 0 3px 3px 0;
}
.other dl {
  display: flex;
  align-items: center;
}
.other dl + dl {
  margin: 10px 0 0;
}
.other dl dt {
  width: 115px;
  font-weight: 500;
  background: #e3e1d9;
  padding: 5px;
  text-align: center;
  border-radius: 5px;
  margin: 0 10px 0 0;
}
.other dl dd {
  width: calc(100% - 115px);
}
.other dl dd .arealist {
  display: flex;
}
.other dl dd .arealist li + li::before {
  content: "|";
  padding: 0 5px;
}
.telBtn {
  position: relative;
  border: 2px solid #6b6247;
  min-height: 152px;
  margin: 55px 0 20px;
  padding: 13px 25px;
  clear: both;
}
.telBtn .telBtn__ttl {
  font-size: 22px;
  font-weight: 500;
  color: #4d4328;
}
.telBtn .telBtn__number {
  font-size: 46px;
  font-weight: 500;
  color: #b5382f;
  line-height: 1.2;
  text-decoration: none;
}
.telBtn .telBtn__number::before {
  content: "相談無料";
  font-size: 15px;
  color: #fff;
  background: #b5382f;
  padding: 8px 20px;
  margin: 0 10px 5px 0;
  border-radius: 50px;
  display: inline-block;
  vertical-align: middle;
}
.telBtn .telBtn__time {
  width: 400px;
  margin-top: 10px;
  text-align: center;
}
.telBtn::after {
  content: "";
  width: 227px;
  height: 177px;
  background: url(../img/respons_img02.png) no-repeat;
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.planlistbox--sm .planlist--sm {
  display: flex;
  flex-wrap: wrap;
  margin: 50px 0;
  padding: 20px 20px 0;
  background: #e9e7e0;
}
.planlistbox--sm .planlist--sm li {
  width: calc((100% - 60px) / 4);
  margin: 0 0 20px 20px;
}
.planlistbox--sm .planlist--sm li:nth-child(4n + 1) {
  margin: 0 0 20px 0;
}
.planlistbox--sm .planlist--sm li .cont {
  padding: 15px 20px;
  background: #fff;
}
.planlistbox--sm .planlist--sm li .cont .planttl {
  font-size: 24px;
  font-weight: 600;
  margin: 0 0 15px;
}
.planlistbox--sm .planlist--sm li .cont .price {
  font-size: 32px;
  font-weight: 600;
  color: #b5382f;
}
.planlistbox--sm .planlist--sm li .cont .plansanretsi {
  color: #fff;
  line-height: 1;
  background: #4e85ba;
  display: inline-block;
  border-radius: 50px;
  padding: 5px 12px;
  margin: 15px 0 0;
}
.sogisyaWrap .singlecont {
  max-width: 1240px;
  margin: 100px auto 0;
  padding: 50px 50px 80px;
  background: #fff;
}
/*tab*/
.tabwrap {
  margin: 50px 0;
}
.tabmenu {
  display: flex;
  justify-content: center;
}
.tabmenu .tabmenuitem {
  font-size: 20px;
  font-weight: 600;
  color: #575142;
  text-align: center;
  border: 1px solid #3e6a92;
  cursor: pointer;
  min-width: 200px;
  margin: 0 8px;
  padding: 10px;
  list-style: none;
  transition: .3s;
  position: relative;
}
.tabmenu .tabmenuitem.active {
  color: #fff;
  background: linear-gradient(to bottom,  #4981c7 0%,#0e6bb4 100%);
  border-bottom: 4px solid #1260a0;
  cursor: auto;
}
.tabmenu .tabmenuitem.active::after {
  content: "";
  border-style: solid;
  border-width: 17px 7px 0 7px;
  border-color: #1260a0 transparent transparent transparent;
  display: inline-block;
  position: absolute;
  bottom: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
.tablist .tablistitem {
  display: none;
}
.tablist .tablistitem.show {
  display: block;
}
.acwrap {
  position: relative;
}
.acbtn {
  color: #fff;
  font-weight: 600;
  width: 35%;
  margin: 25px auto 0;
  background: linear-gradient(to bottom, #f6b342 0%,#f39a04 100%);
  border-radius: 5px;
  border-bottom: 4px solid #da8a04;
  text-align: center;
  padding: 20px 0;
  font-size: 30px;
  cursor: pointer;
  position: relative;
}
.acbtn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 4px;
  background: rgba(255,255,255, 0.2);
}
.acbtn::after {
  display: inline-block;
  content: "";
  width: 25px;
  height: 25px;
  background: url(../img/arw_white.png) no-repeat;
  vertical-align: middle;
  position: absolute;
  top: 52%;
  right: 15%;
  transform: translateY(-50%) rotate(90deg);
}
.acwrap.on .acbtn {
  background: linear-gradient(to bottom, #49c7ab 0%,#0eb490 100%);
  border-bottom-color: #0ea282;
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-animation: fadeIn 1s 1;
  animation: fadeIn 1s 1;

}
.acwrap.on .acbtn::after {
  transform: translateY(-50%) rotate(150deg);
}
.acwrap.on .sogipricebox > .innerbox {
  padding: 40px 25px 130px;
}
.acbtn:hover {
  background: linear-gradient(to bottom, #fcce4b 0%,#fbb504 100%);
  border-bottom: 4px solid #e1a304;
}
.acwrap.on .acbtn:hover {
  background: linear-gradient(to bottom,  #58e6d0 0%,#10d8b5 100%);
  border-bottom-color: #11c2a3;
}
.acitem {
  display: none;
}

@media print, screen and (max-width: 1024px) {
  /*葬儀社一覧ページ*/
  .sogisyalistwrap {
    padding: 0 3% 25px;
  }
  .sogisyalist {
    margin: 30px 0 0;
  }
  .sogisyalistTtl {
    font-size: 28px;
    margin: 25px auto;
  }
  .sogisyalistitem .arealist {
    margin: 0 0 10px;
  }
  .sogisyalistitem .arealist li {
    font-size: 15px;
    padding: 3px 6px;
  }
  .sogisyalist .sogisyalistitem {
    padding: 20px 3%;
  }
  .sogisyalist .sogisyalistitem + .sogisyalistitem {
    margin: 30px 0 0;
  }
  .sogisyalist .sogisyalistitem .wraplink {
    padding: 10px 3% 15px;
  }
  .sogisyattlWrap {
    margin: 20px 0 15px;
    padding-bottom: 12px;
  }
  .sogisyalist .sogisyalistitem .sogisyattl {
    font-size: 28px;
    margin: 0 0 15px;
  }
  .sogisyalist .sogisyalistitem .sogisyacatch {
    font-size: 16px;
  }
  .sogisyaListThumb {
    width: 100%;
    min-width: initial;
    margin-left: 0;
  }
  .sogisyaListOverview .planlist {
    margin: 0 0 10px;
  }
  .sogisyaListOverview .planlist li {
    width: calc(50% - 6px);
  }
  .sogisyaListOverview .planlist li .planName {
    font-size: 18px;
    padding: 4px 3px;
  }
  .sogisyaListOverview .planlist li .planPrice {
    padding: 8px 3px;
  }
  .sogisyaListOverview .planlist li .planPrice .num {
    font-size: 28px;
  }
  .sogisyaListOverview .service {
    margin: 15px 0;
  }
  .sogisyaListOverview .service tr th {
    padding: 8px 10px;
  }
  .sogisyaListOverview .service tr td {
    padding: 8px 10px;
  }
  .btndetail a {
    font-size: 16px!important;
    padding: 17px 0 19px;
  }
  .sogisyalistitem .btnWrap {
    padding: 15px 0 25px;
    display: block;
  }
  .sogisyalistitem .btnWrap > div + div {
    margin: 10px 0 0;
  }

  /*葬儀社ページ*/
  .sogisyaWrap .ttl {
    font-size: 28px;
    background: #5a564b url(../img/bg_kiku05.png) no-repeat bottom right;
    background-size: contain;
    border-bottom: 3px solid #7c7668;
    margin: 30px 0;
    padding: 10px 15px 10px;
  }
  .sogisyaWrap .catch {
    padding: 15px 0 6px 2%;
    margin: 0 0 20px;
    font-size: 14px;
    border-bottom: 3px solid #cac7bd;
  }
  .sogiyatoppar {
    padding: 20px 3% 15px;
  }
  .col2Wrap {
    display: block;
  }
  .col2Wrap .sogisyaThumb {
    width: 100%;
    max-width: initial;
  }
  .col2Wrap .sogisyaOverview {
    width: 100%;
  }
  .col2Wrap .sogisyaOverview .btnWrap {
    margin-top: 20px;
  }
  .sogisyaWrap .servicelist {
    margin: 0 0 15px;
  }
  .sogisyaWrap .servicelist li {
    font-size: 15px;
    padding: 3px 6px;
  }
  .other dl {
    display: block;
  }
  .other dl + dl {
    margin: 13px 0 0;
   }
  .other dl dt {
    width: 100%;
    padding: 5px;
    margin: 0 0 8px;
  }
  .other dl dd {
    width: 100%;
  }
  .telBtn {
    min-height: 152px;
    margin: 35px 0 15px;
    padding: 8px 3%;
  }
  .telBtn .telBtn__ttl {
    font-size: 18px;
  }
  .telBtn .telBtn__number {
    font-size: 37px;
  }
  .telBtn .telBtn__number::before {
    display: block;
    text-align: center;
    padding: 5px 0;
    margin: 10px 0 5px;
  }
  .telBtn .telBtn__time {
    width: 100%;
    text-align: left;
  }
  .telBtn::after {
    width: 100px;
    height: 78px;
    background: url(../img/respons_img02.png) no-repeat;
    background-size: contain;
  }
  .sogisyaWrap .singlecont {
    margin: 35px auto 0;
    padding: 0 0 20px;
  }
  /*tab*/
  .acwrap {
    position: relative;
  }
  .acbtn {
    width: 100%;
    margin: 20px auto 0;
    border-bottom: 4px solid #b96400;
    padding: 18px 0;
    font-size: 18px;
  }
  .acwrap.on .acbtn {
    width: 94%;
  }
  .acwrap.on .sogipricebox > .innerbox {
    padding: 40px 3% 100px;
  }
  .sogipricebox .toppar .text {
    width: 100%;
  }
  .sogipricebox .toppar .image {
    width: 100%;
    position: static;
    margin: 20px 0 0;
  }
  .cont .ttl-blue {
    margin: 0px 0 15px;
    padding: 13px 11px;
  }
  .pricefirst .repletion {
    display: block;
    width: 100%;
    margin: 10px 0 0;
  }
  .pricefirst .repletion .price:before {
    margin: 0 2px 8px 0px;
  }
  .pricefirst .repletion .table {
    width: 100%;
    margin: 0;
  }
}



@-webkit-keyframes fadeIn{
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}
@keyframes fadeIn{
  0%{
    opacity: 0;
  }
  100%{
    opacity: 1;
  }
}

.tooltip--float{position:relative}.tooltip--float .tooltipWrap{cursor:pointer;border-radius:2px;width:100%;position:absolute;top:0;right:0}.tooltip--float .js--tooltipTarget{font-size:.9rem;line-height:1;letter-spacing:.05em;color:#6e7682;display:inline-block;padding:6px 9px;position:absolute;top:0;right:0;z-index:999}.tooltip--float .js--tooltipItem{font-size:.8rem;padding:10px;border-radius:5px;background:#d5d7d9;width:50%;position:absolute;z-index:1000;display:none}.tooltip--float .tooltipWrap:hover .js--tooltipItem{display:inline-block;top:32px;right:5px;width:300px}.tooltip--float .js--tooltipItem::before{content:"";border-style:solid;border-width:0 6px 12px 6px;border-color:transparent transparent #d5d7d9 transparent;position:absolute;top:-12px;right:10px;z-index:1000}.tooltip--static{position:relative;text-align:right}.tooltip--static .tooltipWrap{display:inline-block}.tooltip--static .js--tooltipTarget{font-size:.9rem;line-height:1;letter-spacing:.05em;color:#6e7682;display:inline-block;padding:0 9px;cursor:pointer;position:relative;z-index:999}.tooltip--static .js--tooltipItem{font-size:.8rem;padding:10px;border-radius:5px;background:#d5d7d9;width:80%;text-align:left;position:absolute;z-index:1000;display:none}.tooltip--static .tooltipWrap:hover .js--tooltipItem{display:inline-block;top:35px;right:5px;width:300px}.tooltip--static .js--tooltipItem::before{content:"";border-style:solid;border-width:0 6px 12px 6px;border-color:transparent transparent #d5d7d9 transparent;position:absolute;top:-12px;right:10px;z-index:1000}