@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;600;700&family=Roboto:wght@400;500;700;900&display=swap');

html {
  font-family:'Roboto','Noto Sans JP', sans-serif;
  overflow-x: hidden;
}
* {
  box-sizing: border-box;
}

/* -----------------------------------------------------------
font-size
------------------------------------------------------------*/
/* rem相対、px固定*/
@media (min-width: 768px) {
  :root {
    font-size: calc(0.5625rem + ((1vw - 7.68px) * 0.1736));
    min-height: 0vw;
  }
  p,div,span,li,i,td,th,em,dt,dd {
    font-size:1.8rem;
  }
}
@media (min-width: 1366px) {
  :root {
    font-size: 10px;
  }
}
@media (max-width: 1100px) {
  @media (min-width: 768px) {
    :root {
      font-size: calc(0.52rem + ((1vw - 7.68px) * 0.1736));
      min-height: 0vw;
    }

  }
}
@media screen and (max-width:767px) {
  html {
  font-size: 62.5%;
  }
  body { font-size: 1.4rem; }
  p,div,span,li,i,td,th,em,dt,dd {
    font-size:1.4rem;
  }
}

/* -----------------------------------------------------------
	common
------------------------------------------------------------*/
html,body {
height:100%;
margin:0;
padding:0;
}
html {
-ms-text-size-adjust: 100%;
-webkit-text-size-adjust: 100%;
}
body {
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-webkit-overflow-scrolling: touch;
}

/* 英字フォント */
.en {
  font-family: 'Robot', sans-serif;
}
/* ゴシック系 */
body, table, th, td, p, li, dt, dd, div, span,.go {
font-family:'Noto Sans JP', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
font-weight: normal;
}

/* 明朝系 */
.min {
  letter-spacing: 0.1em;
  font-family: 'Noto Serif JP',serif;
  font-weight: normal;
}

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

*:before,
*:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
h1,h2,h3,h4,h5 {
font-family:'Noto Serif JP',serif;
line-height: 1.4;
font-weight: normal;
font-weight: 500;
font-style: normal;
margin:0;
padding:0;
color:#333;
}
p,li,dt,dd,th,td,div,span,em {
color: #666;
word-wrap: break-word;
}
dt,dd,li,th,td,div,span,em {
line-height: 1.4;
}
p {
line-height: 1.8;
margin:0 0 1em;
}
li {
list-style: none;
}
ul,ol {
padding-left:0;
margin:0;
}
dl,dt,dd,figure {
margin:0;
}
table {
width: 100%;
border-collapse: collapse;
}
a {
  word-break: break-word;
  color:#666;
}
#header a:hover, #footer a:hover {
  text-decoration: none;
}

@media screen and ( min-width: 751px ){
  a {
  -webkit-transition: background  0.3s ease, color 0.3s ease;
  -moz-transition: background  0.3s ease, color 0.3s ease;
  -o-transition: background  0.3s ease, color 0.3s ease;
  transition: background  0.3s ease, color 0.3s ease;
}
	a:hover {
	opacity: 0.85;
	cursor:pointer;
  transition:background 0.3s;
}

	a:hover img {
	-ms-filter: "alpha(opacity=85)";
	filter: alpha(opacity=85);
	}
	#page-top a:hover {
  text-decoration: none;
  opacity: 0.7;
	}
}

img {
line-height: 0;
max-width: 100%;
vertical-align: bottom;
}
article:after,main:after,
clearfix:after {
content: "";
display: block;
clear: both;
}

header a,
footer a,
.news-wrap a,
#menu-wrap a {
  text-decoration: none;
}

/* -----------------------------------------------------------
page
------------------------------------------------------------*/

.full {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}
.container {
margin: 0 auto;
max-width:1100px;
position: relative;
width:95%;
}
.container.base,
.single-wrap {
max-width:1000px;
}
.container.medium {
max-width:1280px;
}
.container.small {
max-width:900px;
}
.container.short {
max-width: 820px;
}

/* -----------------------------------------------------------
共通ボックス
------------------------------------------------------------*/
.pb10 { padding-bottom:10px; }
.pb15 { padding-bottom:15px; }
.pb20 { padding-bottom:20px; }
.pb30 { padding-bottom:30px; }
.pb40 { padding-bottom:40px; }
.pb50 { padding-bottom:50px; }
.pb60 { padding-bottom:60px; }
.pb80 { padding-bottom:80px; }
.pb100 { padding-bottom:100px; }

.pt60 { padding-top:60px; }
.pt70 { padding-top:70px; }
.pt80 { padding-top:80px; }
.pt5 { padding-top:3px; }
.pl10 { padding-left:10px; }
.pl20 { padding-left:20px; }
.mt80 { margin-top:80px; }
.mt100 { margin-top:100px; }
.mt120 { margin-top:120px; }
.mt140 { margin-top:140px; }

.mb5 { margin-bottom:5px; }
.mb10 { margin-bottom:10px; }
.mb15 { margin-bottom:15px; }
.mb20 { margin-bottom:20px; }
.mb30 { margin-bottom:30px; }
.mb40 { margin-bottom:40px; }
.mb50 { margin-bottom:50px; }
.mb60 { margin-bottom:60px; }
.mb70 { margin-bottom:70px; }
.mb80 { margin-bottom:80px; }
.mb100 { margin-bottom:100px; }
.mb110 { margin-bottom:110px; }
.mb120 { margin-bottom:120px; }
.mr20 { margin-right:20px; }
.pt30 { padding-top: 30px; }
.pb20 { padding-bottom:20px; }
.tc { text-align:center;}
.tr { text-align: right;}
.tl { text-align: left;}
.fa {
line-height: 1;
}
i.far {
margin-left:3px;
}

/* -----------------------------------------------------------
btn
------------------------------------------------------------*/
button {
width: auto;
padding: 0;
margin: 0;
background: none;
border: 0;
font-size: 0;
line-height: 0;
overflow: visible;
cursor: pointer;
}
button:focus {
outline: none;
appearance: none;
}

/*---------------------------------------------
flexbox
-----------------------------------------------*/
.flexbox {
	display:flex;
	display:-webkit-box;
	display: -webkit-flex;
	display:-ms-flexbox;
}
/* IE10以上 */
@media all and (-ms-high-contrast: none) {
	/* \9 IE10以下 */
	.flex-box li {
		flex-shrink: 1\9; /* for IE10 */
	}
}
.object-fit{
  object-fit: cover;
  font-family: 'object-fit: cover;'
}


/* -----------------------------------------------------------
PC MENU
------------------------------------------------------------*/

/* タブレット、PC768以上 */
@media screen and (min-width: 768px) {
a[href^="tel:"] { pointer-events: none; }
}

@media screen and (min-width: 1280px) {
ul#menu {
  padding: 0 2%;
}
}
/*=============================================================  */
@media screen and (min-width: 1024px) {
#sp-btn {
  display: none;
}
/*-------------------------------------------------------------
header menu
---------------------------------------------------------------*/
#header {
  position: fixed;
  z-index: 2;
  left: 0;
  top: 0;
  width:100%;
}
#header,
.header-menu,
.sp-top-nav,
#top-menu,
#menu,
#top-logo a {
  height: 60px;
}
.header-menu {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  top:0;
  left: 0;
  padding-left:32px;
}
#top-logo {
  width:25%;
}
#top-logo a {
	display: flex;
	align-items: center;
}
#top-logo img {
	max-width: 269px;
	height: 46px;
	vertical-align: middle;
}
.sp-top-nav {
	width:70%;
	max-width:1000px;
	margin:0 0 0 auto;
}
#top-menu {
  display: flex;
}
.header-contact {
  width:100%;
  max-width:224px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-contact .contact-btn {
  width:70%;
}
.header-contact .line-btn {
  width:30%;
  border-left:1px solid rgba(255,255,255,0.5);
}
.header-contact .line-btn img {
  width:30px;
  height:30px;
}

.header-contact a {
  height: 60px;
  background: #efac97;
  color:#fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size:1.5rem;
  font-weight: 500;
}
.header-contact .contact-btn a {
}
.header-contact .form-btn a {
  background: #555e6f;
  width:60px;
}
ul#menu {
  margin:0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width:calc(100% - 184px);
}
ul#menu li {
  margin:0 0.5em;
}
#menu li a {
  font-size: 1.7rem;
  font-weight: 500;
  color: #333;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
	padding:0 1rem;
	letter-spacing: 0.08em;
  position: relative;
  transition: width 0.2s;
}
#menu li a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 3px;
  background: #efac97;
  transition: 0.3s;
  opacity: 0;
}
.scrolled #menu li a:before {
  bottom:0;
}
#menu li a:hover:before {
  width: 100%;
  transition: 0.2s;
  opacity: 1;
}
#menu {
  position: relative;
}
.scrolled#header {
  position: fixed;
  top:0;
  left:0;
}
.scrolled .header-menu {
  background: rgba(255,255,255,1);
  z-index: 2;
	box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}
.scrolled .header-menu {
  transition: background-color 0.3s ease;
  align-items: center;
}
.scrolled #top-menu {
}
.scrolled #top-menu li a {
  align-items: center;
}
.scrolled #top-menu li ul li a {
  height: inherit;
}
.scrolled ul#menu li {
  line-height: 1.2;
}
.scrolled #top-menu ul li > ul {
top:45px;
}
.scrolled #top-menu {
  top: 0px;
}
.scrolled #top-logo img {
  width: 360px;
  vertical-align: middle;
}
.scrolled .header-top {
  height: 45px;
}
.scrolled #top-menu {
}
.scrolled #menu li a:hover:after,
.scrolled #menu li.active:after {
 bottom:5px;
}
}

@media screen and (max-width: 1480px) {
ul#menu li:first-of-type {
  display: none;
}
#menu li a {
	font-size:1.6rem;
}
.sp-top-nav {
	max-width:100%;
}
}


/* pcメニュー 1024px以上 end */
/*====================================================================  */


/*---------------------------------------------------------
	pageTop
------------------------------------------------------------*/
/* scroll top */
#page-top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  background: #9bcecc;
  display: block;
  width: 44px;
  height: 44px;
  z-index: 10;
}
#page-top a {
  text-decoration: none;
  color: #fff;
  width: 40px;
  height: 40px;
  text-align: center;
  display: block;
  border-radius: 50%;
  text-indent: -9999px;
}
#page-top a:after {
  content: "";
  position: absolute;
  left: 16px;
  top: 19px;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  z-index: 10;
}
#page-top:hover {
  text-decoration: none;
  opacity: 0.8;
}
/* -----------------------------------------------------------
	btn
------------------------------------------------------------*/
.btn-one {
	margin:8rem auto;
	text-align: center;
	max-width:580px;
}
.btn {
	width:100%;
	height:70px;
	color:#fff;
	font-size:2.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #d7b78a;
	border:2px solid #d7b78a;
	text-decoration: none;
	position: relative;
}
.btn {
	font-family: 'Noto Serif JP',serif;
  position: relative;
  transition: background .3s;
}
.btn i {
	line-height: 1;
	margin-left:2rem;
}
.btn:hover {
  color: #d7b78a!important;
}
.btn:before,
.btn:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: '';
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.btn:before {
  background: #fff;
}
.btn:hover:before,
.btn:hover:after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.btn:hover:after {
  transition-delay: .3s;
}
.btn:after {
  background: #fff;
}
.container .register-area {
	margin:4rem auto 6rem;
}
.register-area .btn {
color:#d7b78a;
background: #fff;
border:2px solid #d7b78a;
}
.register-area .btn:hover {
  color: #fff!important;
}
.register-area .btn:before {
  background: #d7b78a!important;
}
.register-area .btn:before,
.register-area .btn:after {
  background: #d7b78a;
}


/* -----------------------------------------------------------
color
------------------------------------------------------------*/
.co4 {
	color:#444;
}
.co3 {
	color:#333;
}
.co-orange {
	color:#efac97;
}
.bg-pink {
	background: #ffefef;
}
.bg-bedju {
background: #f5f1ed;
}
.bg-orange {
	background: #efac97;
}
.bg-gold {
	background: #d7b78a;
}


/* -----------------------------------------------------------
index
------------------------------------------------------------*/
#main {
  overflow-x: hidden;
	margin-top:60px;
}
#mv {
  position: relative;
}
#mv h1 img{
  max-width: none;
  width: 100%;
}
/* concept */
#concept {
	text-align: center;
}
.concept-read li {
	margin:0 2%;
}
.section {
  padding:10rem 0;
}
.section-top {
  padding-top:4em;
}
.section2 {
  padding:4em 0 4em;
}

.flexbox.center {
  justify-content: space-around;
}
.concept .bg-pink {
	padding:10rem 0 8rem;
}
.concept-area {
	max-width:900px;
	margin:auto;
	background: #fff;
	padding:0 4rem 2rem;
	position: relative;
}
.concept-area * {
	font-family: 'Noto Serif JP',serif;
}
.concept-area dt {
	position: absolute;
	top:-2rem;
	left:0;
	right:0;
	margin:0 auto;
}
.concept-ttl {
	background: #333;
	line-height: 1.4;
	display: inline-block;
	padding:0.7rem 2rem;
	color:#fff;
	font-size:2.6rem;
	text-align: center;
}
.concept-list {
	max-width:740px;
	margin:auto;
	padding-top:6rem;
	text-align: left;
}
.concept-list li {
	margin:0 0 2rem 2em;
	padding-left:2.5em;
	font-size:2.3rem;
	font-weight: 500;
	color:#333;
	position: relative;
}
.concept-list li:before {
	content:"";
	position: absolute;
	top: 0.5rem;
	left: 0;
	background: url(../img/01.svg) no-repeat 0 0;
	width:37px;
	height:33px;
	background-size:contain;
}
.concept-list li:nth-child(2):before {
	background: url(../img/02.svg) no-repeat 0 0;
}
.concept-list li:nth-child(3):before {
	background: url(../img/03.svg) no-repeat 0 0;
}
.ttl-img {
	margin-bottom:6rem;
	text-align: center;
}

/* campaign */
#campaign {
background: #fff;
text-align: center;
padding:0 0 6rem;
}
#campaign .ttl-img {
	margin:10rem auto 2rem;
}
#campaign .img-area {
	margin:0rem auto 2.5rem;
}

/* about */
.bg-line {
	position: relative;
}
.bg-line:before {
	content:"";
	position: absolute;
	left:0;
	right:0;
	top:0;
	margin:auto;
	background: url(../img/line.svg) no-repeat center top;
	background-size:cover;
	width:100%;
	height:10px;
}
#about {
	padding:0 0 8rem;
}
#about .ttl-top {
	margin-top:8rem;
}

.flex-area {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin:0 0 10rem;
}
.flex-area .w3 {
	width:40%;
	padding:0 2.5% 0 2.5%;
}
.flex-area .w7 {
	width:57.5%;
}
.flex-area .w5 {
	width:49%;
}
.flex-area.ac {
	align-items: center;
}
.flex-txt {
	padding:0 2.5% 0 2.5%;
}
.ttl-main {
	font-size:4.2rem;
	margin:0 0 4rem 0;
}
.ttl-sub {
	font-size:2rem;
	line-height: 1.8;
	margin-bottom:3rem;
}
#about p {
	font-size:1.4rem;
	line-height: 2.2;
}

/* osusume */
#osusume {
	padding:10rem 0 12rem;
}
#osusume .ttl-main {
	text-align: center;
	margin-bottom:7.5rem;
}
.osusume-flex {
	display: flex;
	justify-content: center;
}
.osusume-flex li {
	margin:0 1.5% 1rem;
	text-align: center;
	font-size:1.6rem;
	font-family:'Noto Serif JP', serif;
}
.osusume-flex li img {
	margin-bottom:5px;
}
.osusume-txt {
	font-size: 2rem;
	line-height: 2;
	margin: 5rem auto 2rem;
	font-family:'Noto Serif JP', serif;
	color:#333;
	text-align: center;
}
.osusume-txt2 {
	text-align: center;
	font-size: 1.3rem;
}

/* cta */
.cta-are {
	max-height:440px;
	overflow: hidden;
}
.cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #f5f1ed;
	text-align: center;
}
.cta-img,
.cta-txt {
	width:50%;
}
.cta-img img {
	width:100%;
	object-fit: cover;
}
.cta-txt {
	padding:5rem 3% 3rem;
}
.cta-btn {
	max-width:580px;
	width:100%;
	margin:0 auto 1.5rem;
}
.cta1 {
	margin-bottom:5rem;
}
.cta1 img {
	width:75%;
}
/* system */
#system {
	padding:6rem 0 0;
}
#system .ttl-img {
  text-align: center;
	margin-bottom:10rem;
}
#system .flex-area {
	text-align: left;
}
.ttl01 {
	font-size:3.2rem;
	letter-spacing: 0.1rem;
  line-height: 1.7;
	margin-bottom:4rem;
}
#system .flex-txt {
	padding:2rem 3% 0 4%;
	align-items: flex-start;
}
#system .flex-txt p {
	font-size:1.4rem;
	line-height: 2.2;
	letter-spacing: 0.05rem;
}
#system .flex-img.w5 {
	width:50%;
}
.flex-area img {
	width:100%;
	object-fit: cover;
}
.sys2 {
	padding:4rem 0 13rem;
	width:94%;
	margin:auto;
}
.sys2-flex {
	display: flex;
	justify-content: space-around;
}
.sys2-flex li {
	width:18%;
	margin:0 1%;
	text-align: center;
	font-size:1.6rem;
	line-height: 1.8;
}
.sys2-flex img {
	margin:0 auto 2.5rem;
	display: block;
}
.sys3 {
	padding-bottom:15rem;
}
.sys3 .kv-area {
	width:100%;
	margin-bottom:7rem;
}
.sys3-flex {
	display: flex;
	justify-content: space-around;
}
.sys3-flex li {
	width:25.333%;
	margin:0 2.5%;
	max-width:310px;
	text-align: center;
}
.sys3-ttl {
	margin:3rem 0 4rem;
	text-align: left;
}
.sys3-txt {
	text-align: left;
	font-size: 1.8rem;
}

/* price */
#price {
	padding:2rem 0 16rem;
}
.txt-small.tr {
	font-size:75%;
	text-align:right;
	padding-right:1rem;
}
#price .container {
	margin-top:7rem;
}
#price .ttl-img {
	margin-bottom:9rem;
}
.table-time {
	display: table;
}
.table-time li {
	display: inline-block;
}

/* table */
table.table01 {
	border-collapse: collapse;
	margin-top:8rem;
	border: 2px solid #efac97;
}
.table-txt {
	color: #333;
	margin:5px 0 0;
	font-size: 90%;
	text-align: right;
}
table.table01.shikaku td,
table.table01.shikaku td * {
	font-size:1.6rem;
}
table.table01.option .th01,
table.table01.option .th01 span {
	font-weight: normal;
	color:#333;
}
table.table01.option * {
	font-size:1.8rem;
}
table.table01.kaihi * {
	font-size:1.8rem;
}
table.table01 th,
table.table01 td {
	font-size:1.8rem;
	border-right: 2px solid #efac97;
	border-bottom: 2px solid #efac97;
}
table.table01 th:first-of-type,
table.table01 td:first-of-type {
}
table.table01 td {
	padding:1.8rem 1.5rem;
}
table.table01 th {
	padding:0.8rem 1.5rem;
	font-size:2rem;
	background: #efac97;
	color:#fff;
	font-weight: bold;
	text-align: center;
}
.table01.kaihi {
	text-align: center;
	color:#333;
}
.table01.kaihi .price {
	font-size:3rem;
	color:#333;
}
.table01.kaihi .zei {
	font-size:1.8rem;
	color:#333;
}
table.table01.kaihi span {
	color:#333;
}
table.table01 th.th01 {
	background: #f5f1ed;
	text-align: left;
}
.table01.option *{
	font-size:1.8rem;
}
.table01.option .price {
	font-size:2.4rem;
	color:#333;
}
.table01.option .zei {
	font-size:1.4rem;
	color:#333;
}
table.table01.option th,
table.table01.option td {
	border-right:none;
	border-left:none;
}
.table01.option td {
	padding-left:3rem;
}
.table01.shikaku td,
.table01.time td {
	padding-left:3rem;
}
.indent01 li {
	margin: 0 0 0 1em;
  text-indent: -1em;
}
.table01.shikaku td {
	width:50%;
}
.table01.time th {
	width:25%;
}

/* faq */
#faq {
padding:8rem 0 12rem;
}
.faq {
	margin-bottom:4rem;
}
.faq dt {
	border-bottom:1px solid #ccc;
	padding: 0 0 0.8rem 1.8em;
	margin: 0 0 1rem 0;
	font-size:2.2rem;
	color:#333;
	font-family:'Noto Serif JP', serif;
	position: relative;
}
.faq dt:before {
	content:"";
	position: absolute;
	top:0.5rem;
	left:0;
	background: url(../img/q.svg) no-repeat 0 0;
	width:21px;
	height:25px;
}
.faq dd {
	color:#666;
	font-size:1.5rem;
	padding: 0 0 0.8rem 2.8em;
	margin: 0;
	line-height: 1.8;
	position: relative;
}
.faq dd:before {
	content:"";
	position: absolute;
	top:0.5rem;
	left:0;
	background: url(../img/a.svg) no-repeat 0 0;
	width:20px;
	height:22px;
}

/* access */
#access .container {
	padding:10rem 0 12rem;
}
.access-area {
	background: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.15);
	padding:5rem 4rem;
}
.access-flex {
	display: flex;
	justify-content: space-between;
	border-bottom:1px solid #ccc;
	margin-bottom:1.5rem;
	padding-bottom:1.5rem;
}
.access-flex:last-of-type {
	border-bottom:none;
	margin-bottom:0;
	padding-bottom:0;

}
.access-flex * {
	font-family: 'Noto Serif JP',serif;
}
.access-flex dt {
	width:20%;
	font-size: 1.9rem;
	color:#333;
	font-weight: 500;
}
.access-flex dd {
	width:75%;
	line-height: 1.4;
	font-size: 1.8rem;
	color:#333;
	font-weight: 500;
}
.access-flex dd a {
	text-decoration:none;
	color:#333;
}
.access-flex dd .link-txt a {
	color:#ed798e;
}
.access-flex dd .link-txt {
	margin:0.5rem 0 0;
}

.map-area {
  position: relative;
  padding-bottom: 56.25%;
	padding-bottom:40%;
  height: 0;
  overflow: hidden;
}
.map-area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.movie-area {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin:1em 0 5em;
}
.movie-area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* circle */
#about {
background:
url(../img/m-l1.svg) no-repeat -48% 18%,
url(../img/mr-2.svg) no-repeat 140% 0%;
/* url(../img/m-l2.svg) no-repeat -54% 100%; */
background-size:45%,35%;
}
#system {
background:
url(../img/ml-3.svg) no-repeat -40% -10%,
/* url(../img/mr-2.svg) no-repeat 133% 22%, */
url(../img/mr-3.svg) no-repeat 150% 74%;
background-size:35%,38%;
}
.sys3 {
background: url(../img/ml-4.svg) no-repeat -44% 110%;
background-size:38%;
}



/* top-news */
#top-news {
  background: rgba(49,53,61,0.05);
  padding-bottom: 1em;
}
#top-news .ttl01 {
  font-size:3.8rem;
}
.ttl01.orange {
  color:#cd521b;
}
.news-area {
  display: flex;
  margin:0 -2.5%;
  flex-wrap: wrap;
}
#top-news .news-area {
  justify-content: center;
}
.news-area a {
  text-decoration: none;
}
.news-area li {
  width:27.333%;
  margin:0 2.5% 3em;
}
.news-area li img {
  width:100%;
  transition: 0.5s;
}
.news-area li a figure,
.news-area li figure {
  overflow: hidden;
}
.news-area li a:hover img  {
  transform: scale(1.1);
  transition: 0.3s;
}
.label-date {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.label {
  background: #000;
  padding:0.2em 0.3em;
  color:#fff;
  font-weight: 500;
  text-align: center;
  font-size:14px;
  margin-right:1em;
}
.label-date {
  margin:0.5em 0 0.3em;
}
.label-date .date {
  color:#555;
  font-size:14px;
}
.news-ttl {
  font-size: 14px;
  color:#555;
}

/* -----------------------------------------------------------
footer
------------------------------------------------------------*/
#footer {
}
.footer-top {
	height: calc(1260/2240*60vw);
	overflow: hidden;
}
.footer-bottom {
	padding:2.2rem 1rem 2rem;
  background: #efac97;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
	text-align: center;
}
.footer-logo {
	width:757px;
	height:94px;
}
.footer-sns {
  position: absolute;
  right: 20px;
  top:0;
  bottom: 0;
  margin:auto;
  display: flex;
  align-items: flex-end;
}
.footer-sns i {
  font-size: 3rem;
  margin-top:0.2em;
}
.footer-sns li {
  margin-left:1em;
}
.footer-sns a {
	color:#fff;
}
.footer-menu {
  padding:0.5em 0 0;
}
.footer-menu {
  display: flex;
  flex-wrap:wrap;
  justify-content: center;
}
.footer-menu a {
  font-size:13px;
  position: relative;
  padding:0 1.5em 0 10px;
	color:#fff;
}
.footer-menu a:before {
  content: "\f054";
  font-family: "Font Awesome 5 Pro";
  font-size: 10px;
  position: absolute;
  left: 0;
  top: 4px;
  margin: auto;
}
.footer-copy {
	width:100%;
	background: #fff;
	height: 44px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.footer-copyright {
  text-align: center;
  font-size:13px;
  margin:0;
	color:#efac97;
}
/* -----------------------------------------------------------
	list
------------------------------------------------------------*/
ul.list01 li {
  position: relative;
  padding-left: 1em;
}
ul.list01 li:before {
  content: "●";
  color: #000;
  font-size: 11px;
  position: absolute;
  top: 5px;
  left: 0;
}
ul.list02 {
  position: relative;
}
ul.list02 li {
  margin:0 0 0.3em 1em;
  text-indent:-1em;
}

/* -----------------------------------------------------------
single-wrap
------------------------------------------------------------*/
/* single-wrap */
.news-area li img {
  max-width:287px!important;
  height: auto;
  object-fit: cover;
  object-position: center;
}
.single-wrap img {
  margin-bottom:1em;
}
.single-wrap .section {
  padding-bottom:8em;
}
.editor-styles-wrapper .wp-block.editor-post-title__block .editor-post-title__input {
  font-size:3.8rem;
}
/* news-single */
#news-single {
  margin:0 0 3em 0;
}
#news-single h1.ttl-news {
  font-size:3rem;
}
.sinegle-wrap .news-date {
  color:#666;
}

/* news pager */
.wp-pagenavi a:hover, .wp-pagenavi span.current {
  border-color:#cd521b;
}

.pager-wrap {
  margin:auto;
  text-align: center;
}
.pager {
  overflow: hidden;
  padding: 30px 0;
}
.pager .wp-pagenavi {
  list-style: none;
  position: relative;
  left: 50%;
  float: left;
}
.pager span,
.pager a {
  margin: 5px;
  position: relative;
  left: -50%;
  float: left;
}
.pager span,
.pager a {
  display: block;
  font-size: 16px;
  border-radius: 3px;
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pager span,.pager a {
  color:#cd521b;
}
.pager span:hover {
  color:#fff;
}
.pager a {
  color: #cd521b;
  text-decoration: none;
  border: 1px solid  #cd521b;
}
.pager a:hover {
  background: #cd521b;
  color: #fff;
  opacity:0.9;
}
.pager span.current {
  background:#cd521b;
  color:#fff;
}
.news-date {
  text-align: right;
  display: flex;
  justify-content: flex-end;
  margin-bottom:1.5em;
}


/* -----------------------------------------------------------
form 共通
------------------------------------------------------------*/
input {
   width:100%;
   margin:0;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
}
textarea, main input {
  padding: 0 10px;
  border: solid 1px #ccc;
}
main input {
  height: 38px;
  padding: 0 16px;
  border: solid 1px #ccc;
  vertical-align: middle;
  border-radius: 4px;
  box-sizing: border-box;
}
textarea {
  width: 94.33962264150944%;
  min-height: 200px;
  margin: 0;
  padding: 8px 16px;
  background: #FFF;
  border: solid 1px #ccc;
  vertical-align: middle;
  border-radius: 4px;
  box-sizing: border-box;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}
label {
	font-size:1.6rem;
}
button, input, optgroup, select, textarea {
  margin: 0;
  font: inherit;
  color: #333333;
}
button, html input[type="button"], input[type="reset"], input[type="submit"] {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
textarea {
  padding: 0 10px;
  color: #333;
  border: solid 1px #ddd;
}
button, input, optgroup, select, textarea {
  margin: 0;
  font: inherit;
	box-sizing:border-box;
	-moz-box-sizing:border-box; /* Firefox */
	-webkit-box-sizing:border-box; /* Chrome, Safari */
}
textarea,input {
width:100%;
padding:0.3em 0.5em;
}
input, textarea, select {
  border-radius: 3px;
	box-sizing:border-box;
	-moz-box-sizing:border-box; /* Firefox */
	-webkit-box-sizing:border-box; /* Chrome, Safari */
}
a, button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
input:focus,select:focus,textarea:focus {
  outline: 0;
  box-shadow: 0 0 5px rgba(0,0,0,0.15);
}
/* select */
select {
  border-radius: 3px;
  border-color: #ddd;
  padding: 4px 16px;
  position: relative;
  width:100%;
}
select:focus{
}
select {
  text-indent: 0.01px;
}
select {
-webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  border-radius: 0;
  /* border: none; */
  outline: 0;
  margin: 0;
  background: #fff;
}
select {
  background-image: url(../img/btn-select.png);
  background-position: right 5px center;
  background-repeat: no-repeat;
  background-size: 30px 30px;
}
option {
-webkit-appearance: none;
-moz-appearance: none;
-ms-appearance: none;
appearance: none;
-webkit-border-radius: 0;
-moz-border-radius: 0;
-ms-border-radius: 0;
border-radius: 0;
border: none;
outline: 0;
margin: 0;
background: #fff;
}
.screen-reader-response ul {
  display: none;
}
/* submit */
#form-wrap button,
#form-wrap input[type="button"],
#form-wrap input[type="reset"],
#form-wrap input[type="submit"]{
  width: 300px;
  height: 60px;
  background: #cd521b;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  font-weight: 500;
  cursor: pointer;
  border-radius: 4px;
}
#form-wrap button:hover,
#form-wrap input[type="button"]:hover,
#form-wrap input[type="reset"]:hover,
#form-wrap input[type="submit"]:hover{
  opacity: 0.85;
}


/* contact7 */
#form-wrap .required {
  padding-left:2.3em;
  position: relative;
}
#form-wrap .required:before {
  content: "必須";
  position: absolute;
  left: 0;
  top: 0em;
  color: #fff;
  font-size: 10px;
  background: #cd521b;
  padding: 0.3em 0.3em 0.3em;
  line-height: 1;
  border-radius: 3px;
  letter-spacing: 0.1em;
}
#form-wrap .required-contactform7 {
  font-size:14px;
  color:#ff0000;
  margin-left:1em;
}
#form-wrap input::placeholder,
#form-wrap textarea::placeholder{
  color:#ccc;
}
#form-wrap .wpcf7-not-valid-tip {
  font-size:13px;
  margin-top:0.3em;
}
/* 確認画面*/
.custom-wpcf7cp-confirm {
}
#wpcf7cpcnf {
}
#wpcf7cpcnf table {
  border-collapse: collapse;
  border:1px solid #ccc;
}
#wpcf7cpcnf th,
#wpcf7cpcnf td {
  padding:0.5em 1em;
  border-right: 1px solid #ccc;
  border-bottom:1px solid #ccc;
  text-align: left;
}
#wpcf7cpcnf th p,
#wpcf7cpcnf td p {
  margin:0;
  padding:0;
}
#wpcf7cpcnf .wpcf7cp-btns {
  display: flex;
  justify-content: center;
}
.form-bottom {
margin: 2em 0 3em;
font-size:90%;
line-height: 1.6;
}
.wpcf7-form.init .comfirm-txt {
  display: none;
}
.wpcf7-form .comfirm-txt {
  position: absolute;
  top: -3.5em;
  left: 0;
  z-index: 10;
  color: #000;
  display: block;
  visibility: visible;
  line-height: 1.4;
}
#wpcf7cpcnf th {
  width:25%;
  background: #eee;
}

/* サンキューメッセージ */
.wpcf7 form.sent .wpcf7-response-output {
  border:none;
}
.wpcf7-form.sent {
  margin-bottom:8em;
}
.wpcf7-form.sent p {
  display:none;
}

@media screen and (min-width:1024px) {
.sp {
	display: none;
}
}
/*---------------------------------------------
mediaQuery レスポンシブ
-----------------------------------------------*/
/* pc */

@media screen and (max-width:1023px) {
.pc {
	display: none;
}
.sns-top i {
	font-size: 2.2rem;
}
/* -----------------------------------------------------------
SP-MENU スマホ版メニュー
------------------------------------------------------------*/
body.open {
}
#top-logo {
  position: fixed;
  top:15px;
  left:15px;
}
#top-logo img {
  width: 180px;
  height: auto;
  vertical-align: top;
}
#top-line {
  position: fixed;
  top:7px;
  right:55px;
}
#top-line img {
  width: 35px;
  height: 35px;
  vertical-align: top;
}
.header-contact {
display: none;
}
ul#menu li {
margin:0;
}
#header {
  width:100%;
  position: fixed;
  top:0;
  left:0;
  background: #fff;
	box-shadow: 0 0 10px rgb(0 0 0 / 15%);
  z-index: 1;
}
#header,
.header-top {
  height:50px;
}
.header-top {
  width:100%;
}
#top-menu {
  background: none;
  height: inherit;
}
#top-menu li a {
  font-size:1.6rem;
}
.open #toggle {
  background: transparent;
}
.open .sp-top-nav {
  z-index: 1001;
  visibility: visible;
}
#header nav {
  top:0;
  width:100%;
  height: 100%;
}
.sp-top-nav {
  visibility: hidden;
  position: fixed;
}
#toggle {
  display: block;
  position: absolute;
  right: 16px;
  top: 16px;
  width: 24px;
  height: 30px;
  cursor: pointer;
  padding: 0px;
  z-index: 1002;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
#toggle div {
  position: relative;
}
#toggle span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #ed9d88;
  left: 0;
  zoom: 1;
  -webkit-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#toggle span:nth-child(1) {
  top: 0;
}
#toggle span:nth-child(2) {
  top: 8px;
}
#toggle span:nth-child(3) {
  top: 16px;
}
.open #toggle span:nth-child(1) {
  top: 9px;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  zoom: 1;
}
.open #toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #toggle span:nth-child(3) {
  top: 9px;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  zoom: 1;
}
ul#menu {
  top: 50px;
  position:absolute;
  padding: 0;
  width: 100%;
  margin: 0;
  z-index:101;
  overflow:hidden;
  height:auto;
}
#top-menu {
  width:100%;
}
#top-menu li a {
width:100%;
background: #ed9d88;
color:#fff;
padding:0 10px 0 1.5em;
height: 47px;
display: flex;
align-items: center;
border-bottom:1px solid rgba(255,255,255,0.3);
font-weight: normal;
}
#top-menu li:last-of-type a {
	border-bottom:none;
}
#top-menu li a {
  position: relative;
}
#top-menu li a.ol {
  background: #f1e7f5;
  color: #333;
}
#top-menu li a.ol:after {
  color:#cd521b;
}
/* footer */
#footer:before {
  height: 50px;
  background-size: auto 50px;
}
#footer:after {
  top:50px;
}
#footer-wrap {
  width: 95%;
  padding: 2.5em 0 1em;
}
#page-top {
  bottom:65px;
  right: 10px;
  width: 36px;
  height: 36px;
  margin-bottom: 0;
}
#page-top a {
  width: 36px;
  height: 36px;
}
#page-top a:after {
  left: 12px;
  top: 14px;
}
.bread-crumbs  {
  overflow: hidden;
  overflow-x: scroll;
  width:93%;
  height: 38px;
  justify-content: flex-start;
}
.bread-crumbs li {
  font-size: 1.3rem;
  white-space: nowrap;
}
#campaign h2,
#system h2,
#price h2,
#pfaq h2,
#access h2 {
  margin-top: -60px;
  padding-top: 60px;
}
#system h2 {
	padding-top:0;
}
#campaign .ttl-img {
margin-top:4rem;
}
#main {
	margin-top:50px;
}
/* -----------------------------------------------------------
sp-btn
------------------------------------------------------------*/
#sp-btn {
	position: fixed;
	bottom:0;
	left:0;
	right:0;
	margin:auto;
	width:100%;
	align-items: center;
	display: flex;
	justify-content: space-between;
	z-index:2;
}
#sp-btn li {
  display: flex;
}
#sp-btn li,#sp-btn li a {
  height: 56px;
}
#sp-btn li a {
display: flex;
align-items: center;
display: flex;
flex-wrap: wrap;
justify-content: center;
width:100%;
text-decoration: none;
position: relative;
font-weight: 500;
font-size:1.8rem;
font-family:'Noto Serif JP',serif;
letter-spacing: 0.05em;
}
#sp-btn li * {
  color:#fff;
}
#sp-btn li.sp-btn-contact {
  background: #d7b78a;
  width:82%;
}
#sp-btn li i {
font-size: 2rem;
}
#sp-btn li.sp-btn-line {
  background: #06C655;
  background: #d7b78a;
  width:18%;
  border-left: 1px solid rgba(255,255,255,0.5);
}
#sp-btn li.sp-btn-line img {
  width:35px;
  height: 35px;
}
.label {
  font-size:13px;
  line-height: 1;
  padding-top:2px;
  margin-right: 0.5em;
}
#footer {
  padding-bottom: 55px;
}
.footer-sns {
  left: 20px;
}
.footer-top {
	height: calc(1260/2240*90vw);
}
.footer-logo {
  width: 100%;
  height: auto;
}
.footer-menu a {
  font-size: 12px;
}
/* index */
.section {
  padding: 6rem 0 5rem;
}
#concept .ttl-img {
	max-width:380px;
	margin:0 auto 6rem;
}

}

/* -----------------------------------------------------------
index　767以下
------------------------------------------------------------*/
@media screen and (max-width: 767px) {
#wpcf7cpcnf th,
#wpcf7cpcnf td {
  padding:0.5em;
}
.container {
	width:90%;
}
.flexbox {
flex-wrap:wrap;
}
#concept .flexbox li {
	width:46%;
	margin-bottom:2rem;
}
.concept .bg-pink {
  padding: 5rem 0 3.5rem;
}
.concept-area {
  max-width: 90%;
	padding:0 1.5rem 2rem;
}
.concept-read .ttl-img {
	width:75%;
}
.concept-list li {
  margin: 0 0 1.8rem 0;
}
.concept-area dt {
  top: -2rem;
}
.concept-ttl {
font-size:1.7rem;
padding:0.3rem 2rem 0.4rem;
}
.concept-list li {
font-size:1.5rem;
}
.concept-list li:before {
background-size:75%!important;
top:0.3rem!important;
}
#campaign {
	padding:3rem 0 4rem;
}
#campaign .ttl-img {
  margin:-3rem auto 0;
	width:50vw;
}
#campaign .img-area {
    margin: 1.5rem auto;
}
.btn {
  height: 60px;
  font-size: 2rem;
}
.flex-area {
	flex-wrap:wrap;
	margin-bottom:6rem;
}
.flex-area .w3,
#about .w5.flex-txt {
	width:90%;
	padding:0;
	margin:auto;
}
.flex-area .w7,
.flex-area .w5 {
	width:100%;
	padding:0;
	margin:auto;
}
.flex-area .w3,
.about3 .flex-txt {
	order:2;
}
.flex-area .w7 {
	order:1;
}
.ttl-main {
  font-size: 2.6rem;
  margin: 0 0 2.5rem 0;
	line-height: 1.6;
	font-weight: 500;
}
.ttl-sub {
  font-size: 1.7rem;
  line-height: 1.6;
  margin-bottom: 3rem;
}
#about p {
  line-height: 1.8;
	font-size: 1.3rem;
}
#about .w3,
#about .w5.flex-txt {
	margin-top:4rem;
}
#about {
  padding-top: 0;
  padding-bottom:5rem;
}
#about .ttl-top {
    margin-top: 0;
}
.bg-line:before {
	background-size:180%;
}
#about {
background:
url(../img/m-l1.svg) no-repeat -80% 24%,
url(../img/m-r1.svg) no-repeat 170% 90%;
/* url(../img/m-l2.svg) no-repeat -109% 98%; */
background-size: 60%,52%;
}
.cta1 img {
    width: 90%;
}

#osusume {
  padding: 6rem 0 6rem;
}
#osusume .ttl-main {
  margin-bottom: 5rem;
}
.osusume-flex {
	flex-wrap:wrap;
	justify-content: space-around;
}
.osusume-flex li {
	width:28%;
	margin-bottom:3rem;
	font-size: 1.4rem;
}
.btn-one {
  margin: 4rem auto;
}
.cta {
	flex-wrap:wrap;
}
.cta-img {
	width:100%;
}
.cta-txt {
  padding: 5rem 0 3rem;
	width:90%;
	margin:auto;
}
.cta1 {
	margin-bottom:3rem;
}
.cta-btn {
margin-bottom:2rem;
}
#system .ttl-img {
	width:90%;
	margin:-100px auto 4rem;
	margin:0 auto 4rem;
}
#system .ttl-img img {
	width:65vw;
}
.flex-area {
	flex-wrap:wrap;
}
#system .flex-txt {
	width:90%;
	margin:auto;
	order:2;
}
#system .flex-img.w5 {
    width: 100%;
}
.ttl01 {
	font-size:2rem;
}
#system .flex-txt p {
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.05rem;
}
#system .flex-txt {
  padding: 4rem 0 0;
}
#system {
  background: url(../img/ml-3.svg) no-repeat -111% 12%,
	url(../img/mr-2.svg) no-repeat 240% 35%,
	url(../img/mr-3.svg) no-repeat -110% 80%;
  background-size: 60%,70%,70%;
}
.sys3 {
	background: url(../img/mr-3.svg) no-repeat 144% 105%;
  background-size: 51%;
}
.sys2 {
  padding: 0rem 0 3rem;
}
.sys2-flex {
	flex-wrap:wrap;
	justify-content: space-around;
	width:94%;
	margin:auto;
}
.sys2-flex li {
	width:48%;
	font-size:1.4rem;
	margin-bottom:4rem;
}
.sys2-flex li img {
	padding:0 1rem;
  margin: 0 auto 1.5rem;
}
.sys3 {
  padding-bottom: 5rem;
}
.sys3 .kv-area {
margin-bottom:5rem;
}
.sys3-flex {
	flex-wrap:wrap;
	width: 90%;
	margin: auto;
}
.sys3-flex li {
	width:100%;
	padding:0;
	margin:0 0 3rem;
	max-width:100%;
}
.sys3-flex li img {
	width:38vw;
}
li .sys3-ttl {
	text-align: center;
  margin: 3rem 0 3rem;
}
li .sys3-ttl img {
	width:65vw;
	margin:auto;
	text-align: center;
}
.sys3-txt {
	font-size:1.4rem;
	text-align: center;
}
li.eki .sys3-ttl img {
	width:60vw;
}
#price .ttl-img img {
	width:35vw;
}
table.table01.shikaku th,
table.table01.shikaku td {
	display: block;
	width:100%;
}
table.table01 td {
  padding: 1rem;
}
table.table01.kaihi *,
table.table01.option *,
table.table01.shikaku *,
table.table01.time * {
  font-size: 1.5rem;
}
table.table01.kaihi th {
	border-bottom:1px solid rgba(255,255,255,0.3);
}
.table01.kaihi .price,
.table01.option .price {
  font-size: 2rem;
}
.table01.kaihi .zei,
.table01.option .zei {
  font-size: 1.2rem;
}
.table01.kaihi span.fs20 {
	font-size:1.4rem;
}
.table01.option td {
	padding:0.5rem 0.5rem 0.5rem 1rem;
	text-align: center;
}
.table01.option th.th01 {
	width:60%;
}
table.table01 th {
	padding:0.5rem 0.5rem 0.5rem 1rem;
}
table.table01.shikaku td,
table.table01.shikaku td * {
  font-size: 1.4rem;
}
table.table01.shikaku td {
	padding:1.5rem 1rem;
}
table.table01.shikaku td {
	border-right:0;
	border-bottom:0;
}
#price .ttl-img {
  margin-bottom: 6rem;
}
#price .container {
    margin-top: 4rem;
}
#price {
	padding:0.5rem 0 7rem;
}
table.table01 {
	margin-top:6rem;
}
#faq .ttl-img img {
  width: 25vw;
}
.faq dt {
	font-size:1.8rem;
	font-weight: 500;
}
.faq dt:before,
.faq dd:before {
	background-size:18px;
}
.faq dd {
	font-size: 1.4rem;
	padding:0 0 0.8rem 2.4em;
}
#faq {
  padding: 7rem 0 6rem;
}
#access .ttl-img img {
  width: 41vw;
}
#access .container {
  padding: 6rem 0 10rem;
}
.access-area {
	padding:3rem;
}
.access-flex {
	flex-wrap:wrap;
	padding-bottom:2rem;
	margin-bottom:2rem;
}
.access-flex:last-of-type {
	margin-bottom:0;
	padding-bottom:0;
}
.access-flex dt {
	font-size:2rem;
	width:100%;
	margin-bottom:1rem;
}
.access-flex dd {
	font-size:1.4rem;
	width:100%;
}
.access-flex dd a {
	font-size:1.7rem;
	color:#ed9d88;
}
.map-area {
	padding-bottom: auto;
	height:450px;
}
#campaign .img-area p {
	margin-bottom:3rem;
}
.footer-top img {
	object-fit: cover;
	width: auto;
	height: 250px;
}
.osusume-txt {
	margin:0 auto 2rem;
	font-size:1.5rem;
}
.osusume-txt2 {
	font-size:1.2rem;
}
#system {
	padding-top:0;
}
}


/* ms */
@media screen and (min-width: 576px) {
.xs {
  display: none!important;
}
}

/* sm サイズ*/
@media screen and (max-width: 575px) {
.ms{
  display: none!important;
}

}

@media screen and (max-width: 480px) {

}
