/* resets */

html {
  font-size: 62.5%; /* 10px相当 */
  /*font-size: 75.0%; 12px相当*/
  /*font-size: 87.5%; 14px相当*/
}
body {
  -webkit-text-size-adjust: 100%;
  font-size: 1.8rem;
  line-height: 1.6;
  color: #333;
  margin: 0;
  padding: 0;
  border: 0;
}
div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
button, input, textarea, select, option {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
  outline: none;
}
img {
  max-width: 100%;
  vertical-align: top;
  border: none;
}
ol, ul {
  list-style: none;
}
table, thead, tbody, tfoot, tr, th, td {
  border-collapse: collapse;
  border-spacing: 0;
}



/* banners */

.banner-bigs,
.banner-smalls {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
}
.banner-bigs .banner,
.banner-smalls .banner {
  display: block;
  width: 100%;
  box-sizing: border-box;
}
.banner-bigs > .banner-big {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 10px;
}
.banner-bigs > .banner-big:last-of-type {
  margin-bottom: 0;
}
.banner-smalls > .banner-small {
  width: calc((100% - 10px) / 2);
  box-sizing: border-box;
  margin-right: 10px;
  margin-bottom: 10px;
}
.banner-smalls > .banner-small:nth-of-type(2n) {
  margin-right: 0;
}
.banner-smalls > .banner-small:nth-last-of-type(1),
.banner-smalls > .banner-small:nth-last-of-type(2) {
  margin-bottom: 0;
}
.banner-bigs .date,
.banner-smalls .date {
  font-size: 1.2rem;
}
.banner-bigs .title a,
.banner-smalls .title a {
  color: #ff0000;
}
.banner-bigs .link_to,
.banner-smalls .link_to {
  display: block;
  width: 100%;
  height: 32px;
  line-height: 32px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  box-sizing: border-box;
  background-color: #9b9b9b;
}
.banner-bigs .price,
.banner-smalls .price {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  color: #ff0000;
}


/*texts*/

.h2,
.h3,
.bar,
.lh {
  position: relative;
  font-size: 2.6rem;
  line-height: 1.2;
  font-weight: normal;
  box-sizing: border-box;
}

.h2 {
  padding-bottom: 5px;
  border-bottom: 2px solid #686868;
}
.h3 {
  padding-left: 10px;
  border-left: 6px solid #686868;
}
.bar {
  text-align: center;
  padding: 10px;
  background-color: #d7d7d7;
}
.lh {
  font-size: 2.8rem;
  font-weight: bold;
}

.text-thumbnail-lists,
.news-lists {
  width: 100%;
  box-sizing: border-box;
}
.text-thumbnail-lists > .text-thumbnail-list,
.news-lists > .news-list {
  display: flex;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 10px;
}
.text-thumbnail-lists > .text-thumbnail-list:last-of-type,
.news-lists > .news-list:last-of-type {
  margin-bottom: 0;
}
.news-lists {
  border-top: 1px solid #8c8c8c
}
.news-lists > .news-list {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #8c8c8c
}
.text-thumbnail-lists .thumbnail {
  width: 90px;
}
.text-thumbnail-lists .description, {
  width: calc(100% - 100px);
}
.news-lists .date {
  width: 100px;
}
.news-lists .date p {
  display: inline-block;
  color: #fff;
  padding: 2px 5px;
  background-color: #646464;
}
.news-lists .description {
  width: calc(100% - 110px);
}
.news-lists .description a {
  color: #2265a8;
  text-decoration: none;
}



/*　tables　*/

table,
th,
td {
  border-collapse: collapse;
  box-sizing: border-box;
}
.table-lines {
  width: 100%;
  border-top: 1px solid #686868
}
.table-lines th,
.table-lines td {
  padding: 10px;
  border-bottom: 1px solid #686868
}
.table-lines th {
  background-color: #dfdfdf
}

.table-grids {
  width: 100%;
  border: 1px solid #686868
}
.table-grids th,
.table-grids td {
  padding: 10px;
  border: 1px solid #686868
}

.table-ranks .rank {
  width: 20px;
  text-align: center;
}
.table-ranks .thumbnail {
  width: 100px;
  padding-left: 5px;
  padding-right: 5px;
}
.table-ranks .description {
  vertical-align: top;
}
.table-ranks tbody tr {
  border-bottom: 5px solid #fff;
}
.table-ranks tbody tr:last-of-type {
  border: none;
}
.table-ranks tbody tr:nth-of-type(1) th {
  color: #d50000;
  background-color: #daae46;
}
.table-ranks tbody tr:nth-of-type(2) th {
  color: #fff;
  background-color: #afafaf;
}
.table-ranks tbody tr:nth-of-type(3) th {
  color: #fff;
  background-color: #8e5335;
}


/* panels */

.box {
  width: 100%;
  box-sizing: border-box;
  padding: 20px;
  border: 2px solid #686868;
}

.ranks-panels {
  display: flex;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
}
.ranks-panels > .ranks-panel {
  width: calc((100% - 10px) / 3);
  box-sizing: border-box;
}
.ranks-panels .ranks-panel-header,
.ranks-panels .ranks-panel-contents,
.ranks-panels .ranks-panel-footer {
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}
.ranks-panels > .ranks-panel:nth-of-type(1)  .ranks-panel-header {
  color: #d50000;
  background-color: #daae46;
}
.ranks-panels > .ranks-panel:nth-of-type(2)  .ranks-panel-header {
  color: #fff;
  background-color: #afafaf;
}
.ranks-panels > .ranks-panel:nth-of-type(3)  .ranks-panel-header {
  color: #fff;
  background-color: #8e5335;
}
.ranks-panels .ranks-panel-header {
  font-weight: bold;
  line-height: 32px;
  height: 32px;
}
.ranks-panels .ranks-panel-contents {
  border-right: 2px solid #a7a7a7;
  border-left: 2px solid #a7a7a7;
}
.ranks-panels .ranks-panel-footer {
  padding: 10px;
  border: 2px solid #a7a7a7;
  border-top: none;

}
.ranks-panels .description {
  font-size: 1.2rem;
}
.price {
  font-size: 1.6rem;
  font-weight: bold;
  color: #ff0000;
}


/* main */

.__fixed #container {
  padding-top: 68px;
}

#container {
  max-width: 768px;
  text-align: left;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
}

#keyvisual {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 20px;
}

#main {
  width: 100%;
  box-sizing: border-box;
  padding-bottom: 80px;
}
#main > .contents {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 60px;
}
#main > .contents:last-of-type {
  margin-bottom: 0;
}
#main .wrap {
  width: 100%;
  box-sizing: border-box;
  padding-left: 10px;
  padding-right: 10px;
}
#main .block {
  width: 100%;
  box-sizing: border-box;
  padding-left: 20px;
  padding-right: 20px;
}

#pagetop {
  display: inline-block;
  width: 48px;
  height: 48px;
  color: #646464;
  vertical-align: top;
  text-align: center;
  font-size: 1.0rem;
  line-height: 1.4;
  text-decoration: none;
  box-sizing: border-box;
  padding-top: 15px;
  border-radius: 3px;
  background-color: #bcbcbc;
}

#menu-bar {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 9;
  display: flex;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  background-color: #816400;
  border-top: 1px solid #d6cde0;
}
#menu-bar .icon {
  display: block;
  max-width: 24px;
  margin-left: auto;
  margin-right: auto;
}
#menu-bar .active {
  background-color: #ce7c07;
}
#menu-bar > .link {
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  color: #fff;
  font-size: 1.0rem;
  text-decoration: none;
  box-sizing: border-box;
  padding-top: 5px;
  padding-bottom: 5px;
  border-right: 1px solid #d6cde0;
}
#menu-bar > .link:last-of-type {
  border-right: none;
}

#global {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 10;
  box-sizing: border-box;
  padding: 20px 10px 10px;
  background-color: #2c0059;
}
#global .close-button {
  width: 100%;
  font-size: 1.0rem;
  text-align: right;
  color: #fff;
  box-sizing: border-box;
}
#global .links > .link {
  display: block;
  width: 100%;
  color: #d6cde0;
  text-decoration: none;
  box-sizing: border-box;
  padding: 10px;
  border-bottom: 1px solid #d6cde0
}
#global .links > .link.active {
  color: #fff;
}
#global .menu-button,
#global .menu-button span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
#global .menu-button {
  position: relative;
  display: block;
  width: 32px;
  height: 20px;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: 2px;
  margin-bottom: 2px;
  border: none;
  cursor: pointer;
  background: transparent;
}
#global .menu-button span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
  border-radius: 4px;
}
#global .menu-button span:nth-of-type(1) {
  top: 0;
}
#global .menu-button span:nth-of-type(2) {
  top: 8px;
}
#global .menu-button span:nth-of-type(3) {
  bottom: 0;
}
#global .menu-button.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
}
#global .menu-button.active span:nth-of-type(2) {
  opacity: 0;
}
#global .menu-button.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-8px) rotate(45deg);
}


/* header */

.__fixed #header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9;
}

#header {
  width: 100%;
  height: 68px;
  box-sizing: border-box;
  padding: 10px 10px 0;
  background-color: #686868;
}
#header .row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}
#header .buttons {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  box-sizing: border-box;
  text-align: right;
}
#header .buttons .button {
  display: block;
  width: 48px;
  height: 46px;
  text-align: center;
  font-size: 1.0rem;
  letter-spacing: -0.2em;
  color: #a00000;
  text-decoration: none;
  vertical-align: top;
  box-sizing: border-box;
  margin-right: 5px;
  padding-top: 5px;
  background-color: #fff;
  border-radius: 4px;
  overflow: hidden;
}
#header .buttons .button:last-of-type {
  margin-right: 0;
}
#header .buttons .button .icon {
  display: block;
  max-width: 24px;
  margin-left: auto;
  margin-right: auto;
}

#menu {
  position: relative;
  z-index: 999;
  font-size: 1.0rem;
  text-align: center;
  color: #fff;
}
#menu .menu-button,
#menu .menu-button span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
#menu .menu-button {
  position: relative;
  display: block;
  width: 32px;
  height: 20px;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2px;
  border: none;
  cursor: pointer;
  background: transparent;
}
#menu .menu-button span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
  border-radius: 4px;
}
#menu .menu-button span:nth-of-type(1) {
  top: 0;
}
#menu .menu-button span:nth-of-type(2) {
  top: 8px;
}
#menu .menu-button span:nth-of-type(3) {
  bottom: 0;
}
#menu .menu-button.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
}
#menu .menu-button.active span:nth-of-type(2) {
  opacity: 0;
}
#menu .menu-button.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-8px) rotate(45deg);
}


/* footer */

#footer {
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  padding: 10px 10px 60px;
  background-color: #616161;
}
#footer .local {
  width: 100%;
  box-sizing: border-box;
}
#footer .local > a {
  display: inline-block;
  vertical-align: top;
  font-size: 1.2rem;
  color: #fff;
  line-height: 2.0;
  box-sizing: border-box;
  margin-right: 10px;
}
#footer .local > a:last-of-type {
  margin-right: 0;
}
#footer .address {
  color: #fff;
  font-size: 1.2rem;
}


/* modules */

.display-none { display: none !important; }

.mt-tiny { margin-top: 5px; }
.mt-small { margin-top: 10px; }
.mt-normal { margin-top: 20px; }
.mt-large { margin-top: 40px; }
.mt-huge { margin-top: 80px; }

.mr-tiny { margin-right: 5px; }
.mr-small { margin-right: 10px; }
.mr-normal { margin-right: 20px; }
.mr-large { margin-right: 40px; }
.mr-huge { margin-right: 80px; }

.mb-tiny { margin-bottom: 5px; }
.mb-small { margin-bottom: 10px; }
.mb-normal { margin-bottom: 20px; }
.mb-large { margin-bottom: 40px; }
.mb-huge { margin-bottom: 80px; }

.ml-tiny { margin-left: 5px; }
.ml-small { margin-left: 10px; }
.ml-normal { margin-left: 20px; }
.ml-large { margin-left: 40px; }
.ml-huge { margin-left: 80px; }

.pt-tiny { padding-top: 5px; }
.pt-small { padding-top: 10px; }
.pt-normal { padding-top: 20px; }
.pt-large { padding-top: 40px; }
.pt-huge { padding-top: 80px; }

.pr-tiny { padding-right: 5px; }
.pr-small { padding-right: 10px; }
.pr-normal { padding-right: 20px; }
.pr-large { padding-right: 40px; }
.pr-huge { padding-right: 80px; }

.pb-tiny { padding-bottom: 5px; }
.pb-small { padding-bottom: 10px; }
.pb-normal { padding-bottom: 20px; }
.pb-large { padding-bottom: 40px; }
.pb-huge { padding-bottom: 80px; }

.pl-tiny { padding-left: 5px; }
.pl-small { padding-left: 10px; }
.pl-normal { padding-left: 20px; }
.pl-large { padding-left: 40px; }
.pl-huge { padding-left: 80px; }

.text-tiny { font-size: 1.0rem; }
.text-small { font-size: 1.2rem; }
.text-normal { font-size: 1.4rem; }
.text-large { font-size: 1.6rem; }
.text-huge { font-size: 2.4rem; }

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

.text-red { color: #ff0000; }
.text-white { color: #fff; }
.text-black { color: #3f2800; font-weight:bold;}

.border-color-red { border-color: #a0a0a0; }
.border-color-white { border-color: #fff; }
.border-color-black { border-color: #000; }

.bg-color-red { background-color: #f6f3e3; border:1px solid #e4dcb2; margin:20px 0;}
.bg-color-white { background-color: #fff; }
.bg-color-black { background-color: #000; }
.bg-color-pink { background-color: #f18faa; }


/*追加*/

.cvp { background-color:#ffebde;}
.cvp h2 { display:inline; font-size:11px; line-height:13px;}
.cvp h3 { display:inline; font-size:11px; line-height:13px;}

.riyu { color:#dd9c00; font-weight:bold;}

.head_common { text-align:center; width:100%;}

.head_common img { text-align:center; width:100%;
max-width: 100%;
height: auto;}


.title  {
padding:15px 0 15px 0;
}
.txt { padding:0 0 10px 0;}

.t_free01 {
  padding: 0.5em;/*文字周りの余白*/
  color: #010101;/*文字色*/
  background: #ffd2d1;/*背景色*/
  border-bottom: solid 3px #e4504d;/*下線*/
  font-size:22px;
  font-weight:bold;
  color:#451804;
}

.t_free01s {
  background: #fff4f4;/*背景色*/
  padding: 0.5em;/*文字まわり（上下左右）の余白*/
  font-size:18px;
  font-weight:bold;
  color:#e4504d;
}

.t_free02 {
  padding: 0.5em;/*文字周りの余白*/
  color: #010101;/*文字色*/
  background: #ffe4c1;/*背景色*/
  border-bottom: solid 3px #ee8f15;/*下線*/
  font-size:22px;
  font-weight:bold;
  color:#451804;
}

.t_free02s {
  background: #ffefda;/*背景色*/
  padding: 0.5em;/*文字まわり（上下左右）の余白*/
  font-size:18px;
  font-weight:bold;
  color:#ee8f15;
}

.under {
  background: linear-gradient(transparent 50%, #fffc32 50%);
  font-weight:bold;
  font-size:2rem;
}


h4.fukidashi {
  position: relative;
  padding: 0.6em;
  background: #e7d3ac;
  font-weight:bold;
}


h4.fukidashi:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid #e7d3ac;
  width: 0;
  height: 0;
}


/* 追加 トップページ */
.top_cnt { 
	width:1080px;
	margin:0 auto;
	}

.top_cnt h1 { 
	font-size:14px;
	font-weight:normal;
	line-height:20px;
	padding:10px 0 0 0;
	}

h2.t_01{
	background-color:#fffce9;
	margin:0 0 10px 0;
	}	
	
h2.t_02{
	background-color:#ffe8e9;
	margin:0 0 10px 0;
	}
	
h2.t_03{
	background-color:#dcf7ff;
	margin:0 0 10px 0;
	}

.top_cnt_box {
	padding:15px 0;
	}

.top_cnt_box h2 { 
	text-align:center;
	}

.top_cnt_box img{
	padding:5px 0;
	}

.top_cnt_lead { 
	padding:50px 0;
	}

.top_cnt_lead p { 
	font-size:16px;
	line-height:24px;
	padding:10px;
	background-image: linear-gradient(
	-45deg,
	#ffffef 25%,
	#feffca 25%,
	#feffca 50%,
	#ffffef 50%,
	#ffffef 75%,
	#feffca 75%,
	#feffca
);
background-size: 30px 30px;
background-attachment: fixed;
	}

.top_cnt_lead img {
	padding:30px 0 10px 0;
	}

.top_cnt_add p {
	font-size:24px;
	font-weight:bold;
	line-height:36px;
	}

.add_logo { 
	float:left;
	}

.top_cnt_add p{
	float:right;
	}

.clear { 
	clear:both;
	height:0px;
	font-size:0px;
	line-height:1px;
	}

.top_cnt_add{
	width:830px;
	margin:0 auto;
	padding:0 0 30px 0;
	}

.top_btn {
	text-align:center;
	}

.top_btn {
	text-align:center;
	padding:50px 0;
	}
	
.top_btn img {
	margin:0 0 20px 0;
	}


/* 追加 グーグルマップ */
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*追加 シーンバナー*/
.cean_bn_t { text-align:center}
.umou_bn { width:620px; margin:0 auto;}
.umou_bn img { margin:0 0 5px 0;}

.umou { margin:0 0 10px 0;}
.side img { margin:0 0 5px 0;} 
 
.fs-c-price__value { font-size:1.6em}

.fs-c-textarea { 
    border: 1px solid #cccccc; 
}