@charset "utf-8";

.container {
	position: relative;
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
}

/* */

body {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  text-align: justify !important;
  line-height: 1.6;
  font-style: normal;
  font-weight: 400;
  color: #333;
  overflow-x: hidden;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
a {
	transition:all 0.2s;
	text-decoration: none;
	color: #333;
}
a:hover {
	transition:all 0.4s;
	opacity:0.8;
}
a.blue {
	color: #0024cd;
	text-decoration:underline;
}
th {
	font-weight:lighter;
}
img {
  /* width:100%; */
  max-width: 100%;
  height: auto;
}
hr {
	background-image: url(../images/hr.png);
	background-position: center;
	height: 7px;
	border: none;
}
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/* */

p {
	margin: 5px 0;
	padding: 0;
	text-align: justify !important;
}
p.center {
	text-align:center !important;
}
p.img-center {
	text-align:center !important;
}
p.space {
	margin: 0 0 0 1em;
	text-indent: -1em;
}

p.sp {
	display: block;
}

p.pc {
	display: none;
}

ul.pc {
	display: block;
}

ul.sp {
	display: none;
}

br.sp {
	display: none;
}
br.sp__b {
	display: block;
}

/* */

.bkgray {
	background: #ececec !important;
}

.white {
	background: #fff;
}

span.black__line {
	color: #000;
	border-bottom: 1px solid #000;
}

span.red {
	color: #ff0000;
}

span.red__line {
	color: #ff0000;
	border-bottom: 1px solid #ff0000;
}

span.yellow {
	color: #ffff00;
}

span.blue {
	color: #0024cd;
}

span.green {
	color: #00cc00;
}

span.bold {
	font-weight: 600 !important;
}

span.slash {
	display:inline-block;
	margin: 0 20px;
}

span.slash__two {
	display:inline-block;
	margin: 0 20px;
}

.strong {
	font-weight:bold;
}

/* */

.center {
	display:inline-block;
	width: 100%;
	text-align:center;
	margin-bottom: 20px;
}

/* フォント
---------------------------------------------------------*/

.font__12 {
	font-size: 12px;
}

.font__14 {
	font-size: 14px;
}

.font__18 {
	font-size: 18px;
}

.font__20 {
	font-size: 20px;
}

.font__24 {
  font-size: 24px;
}

.font__26 {
  font-size: 26px;
}

.font__30 {
	font-size: 30px;
}

/* margin padding
---------------------------------------------------------*/

.mar__10t {
  margin: 10px auto 0 auto !important;
}

.mar__20t {
  margin: 20px auto 0 auto !important;
}

.mar__20t20r {
  margin: 20px 20px 0 0 !important;
}

.mar__30 {
  margin: 30px 0 !important;
}

.mar__30t {
  margin: 30px auto 0 auto !important;
}

.mar__50t20b {
	margin: 50px 0 20px 0;
}

.mar__30b {
  margin: 30px auto !important;
}

.mar__30bt {
	margin: 0 auto 20px auto !important;
}

.mar__40t {
  margin: 40px 0 0 0 !important;
}

.mar__50t {
  margin: 50px auto 0 auto !important;
}

.mar__50b {
  margin: 50px auto !important;
}

.mar__60t {
  margin: 60px 0 0 0 !important;
}

.mar__80 {
	margin: 30px auto 30px auto !important;
}

.mar__100t {
	margin: 100px 0 0 0 !important;
}

.pad__10 {
  padding: 10px 0 !important;
}

.pad__20 {
  padding: 20px 0 !important;
}

.pad__20w {
	padding: 0 20px !important;
}

.header__80 {
	margin-top: 80px !important;
}

.bottom__30 {
  padding: 30px 0;
}

.bottom__30__gray {
  padding: 30px 0;
  background: #ececec;
}

.clear {
	clear: both;
}

.auto {
	margin: 0 auto;
	text-align:center;
}

/* 大枠
---------------------------------------------------------*/

main {
  position:relative;
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
  text-align: left;
}

section.box {
  position:relative;
  width: 100%;
  margin: 0 auto;
  text-align: left;	
}

.width__600 {
  max-width: 600px;
}

.width__800 {
  max-width: 800px;
}

.width__1003 {
  max-width: 1003px;
}

.width__1025 {
  max-width: 1025px;
}

.width__1074 {
  max-width: 1025px;
  margin: 0 auto;
}

.width__1200 {
  max-width: 1200px;
}

.width__1250 {
  max-width: 1250px;
}

.width__1320 {
  max-width: 1320px;
}

.width__1560 {
  max-width: 1560px;
  margin: 40px auto !important;
}

.width__1560__b {
  max-width: 1560px;
  margin: 0 auto 40px auto !important;
}

.width__1770 {
  max-width: 1770px;
  margin: 20px auto;
}

.width__1920 {
  max-width: 1920px;
}

/* カルーセル */

.float__none {
	/* clear: both; */
}

span.more {
	display:inline-block;
	float: right;
	font-size: 12px;
	padding: 10px 0;
}

/* メール */

div.mail {
	position: absolute;
    top: 0;
    right: 80px;
    width: 80px;
    height: 80px;
    text-align: center;
    line-height: 70px; /* 80 */
    font-size: 28px;
    color: #fff;
	background: rgba(69,69,74, 1) !important;
    z-index: 9997;
    transition: .2s;
	border-right: 1px solid #fff;
}

div.mail a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
	font-weight: 600;
}

/* アクセス */

div.access {
	position: absolute;
    top: 0;
    right: 160px;
    width: 80px;
    height: 80px;
    text-align: center;
    line-height: 80px;
    font-size: 28px;
    color: #fff;
	background: rgba(69,69,74, 1) !important;
    z-index: 9997;
    transition: .2s;
	border-right: 1px solid #fff;
}

div.access a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
	font-weight: 600;
}

/* マイページ */

ol.mypage {
	padding-left: 15px;
}

div.mypage {
	position: absolute;
    top: 0;
    right: 240px;
    width: 130px;
    height: 80px;
    text-align: left;
    line-height: 100px;
    font-size: 28px;
    color: #fff;
	background: rgba(204, 52, 103, 1) !important;
    z-index: 9997;
    transition: .2s;
	border-right: 1px solid #fff;
}

div.mypage a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
	font-weight: 600;
}

/* インデックス-スライダー
---------------------------------------------------------*/

.full div.img01,
.full div.img02,
.full div.img03 {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left; /* center */
  height: 499px;
  margin: 80px 0 0 0;
}
.full div.img01 {
  background-image: url(../images/index/slider-1.png);
}
.full div.img02 {
  background-image: url(../images/index/slider-2.png);
}
.full div.img03 {
  background-image: url(../images/index/slider-3.png);
}
.full .slick-dots {
    bottom: 4%;
    z-index: +1;
}

/* 印刷用 */

.index__print__image {
	display: none;
}

/* ページ-ヘッダー
---------------------------------------------------------*/

.full__page div.img01,
.full__page div.img02,
.full__page div.img03,
.full__page div.img04,
.full__page div.img05 {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left; /* center */
  height: 229px;
  margin: 80px 0 0 0;
}
.full__page div.img01 {
  background-image: url(../images/header/support.jpg);
}
.full__page div.img02 {
  background-image: url(../images/header/moving.jpg);
}
.full__page div.img03 {
  background-image: url(../images/header/cautions.jpg);
}
.full__page div.img04 {
  background-image: url(../images/header/service.jpg);
}
.full__page div.img05 {
  background-image: url(../images/header/contact.jpg);
}

/* */

.page__header__midasi {
	position:relative;
	max-width: 1076px;
	border-right: 1px solid #45454a;
	border-left: 1px solid #45454a;
	border-bottom: 1px solid #45454a;
	margin: 0 auto;
}

.page__header__midasi__inner {
	display:flex;
	justify-content:center;
	align-items:center;
	padding: 20px 0;
}

.page__header__midasi__inner div:first-child {
	/* max-width: 73px; */
	/* flex-basis: 73px; */
	margin-right: 20px;
	margin-top: 5px;
}

.page__header__midasi__inner p {
	margin: 0;
	padding: 0;
	line-height: 1.3;
}

.page__header__midasi__inner p:first-child {
	font-size: 30px;
	font-weight:700;
}

.page__header__midasi__inner p:last-child {
	font-size: 20px;
	font-weight:700;
}

p.midasi__text__center {
	position:relative;
	margin: 35px auto 40px auto;
	text-align:center !important;
	font-weight:700;
	font-size: 18px;
}

/* インデックス-メインビジュアル
---------------------------------------------------------*/

h3.index {
	font-size: 24px;
	text-align:center;
	font-weight:700;
}

#news {
  position:relative;
  margin: 0;
}

/* フェードイン
----------------------------------------------------------------------*/

/*アニメーション要素のスタイル*/
.animation{
	opacity : 0;
	visibility: hidden;
	transition: 1s;
	transform: translateY(30px);
}
/*アニメーション要素までスクロールした時のスタイル*/
.active{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* 矢印・メール */

.fa-chevron-down::before {
    content: "\f078";
}

.fa-envelope::before {
    content: "\f0e0";
}

.fas, .far {
    font-weight: 900;
}
.fas, .far {
    font-family: "Font Awesome 5 Free";
}
.fas, .far {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

.mail__icon::before {
	content:"";
	background-image:url(../images/mail.png);
	background-size:contain;
	display:inline-block;
	width: 34px;
	height: 25px;
}

.mail__icon::after {
  position: absolute;
  content: "お問い合わせ";
  left: 10px;
  bottom: 10px;
  font-size: 10px !important;
  line-height: 1.2 !important; 
  font-style: normal !important;
}

/* アクセス */

.access__icon::before {
	content:"";
	background-image:url(../images/map.png);
	background-size:contain;
	display:inline-block;
	width: 24px;
	height: 35px;
}

.access__icon::after {
  position: absolute;
  content: "アクセス";
  left: 20px;
  bottom: 10px;
  font-size: 10px !important;
  line-height: 1.2 !important; 
  font-style: normal !important;
}

/* マイページ */

.mypage__icon::before {
	margin-left: 12px;
	content:"";
	background-image:url(../images/mypage@2x.png);
	background-size:contain;
	display:inline-block;
	width: 37px;
	height: 37px;
}

.mypage__icon::after {
  position: absolute;
  content: "My page";
  right: 15px;
  bottom: 30px;
  font-size: 14px !important;
  line-height: 1.2 !important; 
  font-style: normal !important;
}


/* インデックス-ニュース
---------------------------------------------------------*/

.index__news {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 50%;
    height: 80px;
    z-index: 1;
}

/* インデックス-入寮案内
---------------------------------------------------------*/

.items {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
}

.item {
	box-sizing: border-box;
	margin: 0;
  	padding: 15px;
  	width:32%;
	height: 98px;
	max-width: 483px;
	margin:0 0 70px 0;
	background: #45454a;
}

.item a {
	display: block;
	color: #fff;
}

/* */

.item__inner {
	display:flex;
	max-width: 300px;
	justify-content:space-evenly;
	align-items: flex-start;
}

.item__inner__nav {
	display:flex;
	max-width: 400px;
	justify-content:space-evenly;
	align-items: flex-start;
}

.item__inner__yuuryo {
	display:flex;
	max-width: 350px;
	justify-content:space-evenly;
	align-items: flex-start;
}

.item__inner__nyuryou {
	display:flex;
	max-width: 440px;
	justify-content:space-evenly;
	align-items: center;
}

.item__inner__soturyo {
	display:flex;
	max-width: 400px;
	justify-content:space-evenly;
	align-items: center;
}

.item__inner__cautions {
	display:flex;
	max-width: 300px;
	justify-content:space-evenly;
	align-items: center;
}

.item__inner div:first-child,
.item__inner__nyuryou div:first-child,
.item__inner__nav div:first-child,
.item__inner__yuuryo div:first-child,
.item__inner__cautions div:first-child,
.item__inner__soturyo div:first-child {
	max-width: 72px;
	flex-basis: 72px;
}

.item__inner p,
.item__inner__nav p,
.item__inner__yuuryo p,
.item__inner__nyuryou p,
.item__inner__soturyo p,
.item__inner__cautions p {
	margin: 0;
	padding: 0;
	line-height: 1.3;
	text-align: left !important;
}

.item__inner p:first-child,
.item__inner__nav p:first-child,
.item__inner__yuuryo p:first-child,
.item__inner__nyuryou p:first-child,
.item__inner__soturyo p:first-child,
.item__inner__cautions p:first-child {
	font-size: 30px;
	font-weight:700;
}

.item__inner p:last-child,
.item__inner__nav p:last-child,
.item__inner__yuuryo p:last-child,
.item__inner__nyuryou p:last-child,
.item__inner__soturyo p:last-child,
.item__inner__cautions p:last-child {
	font-size: 20px;
	font-weight:700;
}

/* */

span.mobile {
	position:relative;
	display: block !important;
}

/* */

.item__two {
	box-sizing: border-box;
	margin: 0;
  	padding: 0 20px;
  	width:50%;
	margin:0;
}
	
.item > img,
.item__two > img {
	width:100%;
}

.items ul {
	padding-left: 0;
}

.items ul li {
	list-style: none;
	font-size: 18px;
}

/* モバ支所 */

.mobashisyo {
	display:flex;
	justify-content:flex-start;
	margin-top: 40px;
}

.mobashisyo div p {
	text-align:center !important;
}

/* ページ-サポート
---------------------------------------------------------*/

div.support__two {
	display:flex;
	justify-content:center;
	align-items:center;
	max-width: 1076px;
	margin: 0 auto;
}

div.support__two__2 {
	display:flex;
	justify-content: space-evenly;
	align-items:center;
	max-width: 700px;
	margin: 30px auto 0 auto;
}

h3.support {
	font-size: 24px;
	text-align:center;
}

.support__one {
	position:relative;
	max-width: 1076px;
	margin: 0 auto;
	padding: 0 20px;
}

.support__one dl {
	display: flex;
	flex-wrap: wrap;
	font-size: 18px;
	line-height: 1.6;
}

.support__one dt,
.support__one dd {
    margin: 0;
    padding: 0;
	box-sizing: border-box;
}

.support__one dt {
    width: 110px;
}

.support__one dt p.a {
	letter-spacing: 6px;
}

.support__one dt p.b {
	letter-spacing: 18px;
}

.support__one dd {
    width: calc(100% - 110px);
}

ul.support {
	position:relative;
	max-width: 1076px;
	font-size:18px;
	margin: 40px auto 0 auto;
	line-height: 1.6;
	padding-left: 30px;
}

/* ページ-入寮
---------------------------------------------------------*/

div.moving__two {
	display:flex;
	justify-content: space-evenly;
	max-width: 1076px;
	flex-wrap: wrap;
	margin: 50px auto 0 auto;
}

div.moving__two > div:first-child {
	width: 176px;
	height: 70px;
	border: 1px solid #000;
	background: #fff;
	padding: 15px 15px;
}

div.moving__two div:first-child p {
	font-size: 18px;
	text-align:center !important;
	font-weight: 600;
}

div.moving__two div ol {
  position: relative;
  margin: 0 0 20px 0;
  padding: 0;
}

div.moving__two div ol li {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.25em;
  line-height: 1.6;
}

div.moving__two div ol li span {
  position: absolute;
  left: 0;
  margin: 0;
}

/* ページ-退寮
---------------------------------------------------------*/

p.leaving {
	font-size: 24px;
	text-align:center !important;
}

div.leaving__two {
	display:flex;
	justify-content: space-between;
	max-width: 1076px;
	margin: 50px auto 0 auto;
}

div.leaving__two > div:first-child {
	width: 176px;
	height: 70px;
	border: 1px solid #000;
	background: #fff;
	padding: 15px;
}

div.leaving__two div:first-child p {
	font-size: 18px;
	text-align:center !important;
	font-weight: 600;
}

div.leaving__two div ol {
  position: relative;
  margin: 0;
  padding: 0;
}

div.leaving__two div ol li {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.25em;
  line-height: 1.8;
}

div.leaving__two div ol li span {
  position: absolute;
  left: 0;
  margin: 0;
}

div.leaving__two div ol li:nth-child(6) {
	margin-top: 20px;
}

/* ページ-寮ナビ
---------------------------------------------------------*/

span.mypage {
	color: #cc3366;
	font-size: 24px;
}

div.navi__two a {
	text-decoration: underline;
}

div.navi__two {
	display:flex;
	justify-content: space-between;
	max-width: 1076px;
	margin: 0 auto;
}

div.navi__two div:first-child {
	width: 70%;
	font-size: 18px;
}

div.navi__two div:last-child {
	width: 30%;
	max-width: 252px;
}

div.navi__ggmap {
	display:flex;
	justify-content: space-between;
	max-width: 1076px;
	flex-wrap: wrap;
	margin: 0 auto;
}

div.navi__ggmap__b {
	display:flex;
	justify-content: space-between;
	max-width: 1076px;
	flex-wrap: wrap;
	margin: 70px auto 0 auto;
}

div.navi__ggmap h4,
div.navi__ggmap__b h4 {
	font-size: 18px;
	font-weight: 600;
}

.Card-Left {
  position: relative;
  width: 48%;
}
.Card-Left-Map {
  height: 0;
  padding-top: 56.25%;
}
.Card-Left-Map-Iframe {
  position: absolute;
  top: 65px;
  left: 0;
  width: 100%;
  height: 100%;
}

.Card-Right {
  position: relative;
  width: 48%;
}
.Card-Right-Map {
  height: 0;
  padding-top: 56.25%;
}
.Card-Right-Map-Iframe {
  position: absolute;
  top: 65px;
  left: 0;
  width: 100%;
  height: 100%;
}

div.navi__movie {
	position:relative;
	margin: 20px auto 0 auto !important;
	max-width: 1076px;
	text-align:center;
}

.ricoh-theta-tour-image {
	margin: 0 auto !important;
}

div.navi__movie h4 {
	font-size: 18px;
	font-weight: 600;
	padding: 0;
	margin: 0 0 15px 0;
}

div.navi__two__map {
	display:flex;
	justify-content: space-between;
	max-width: 1076px;
	margin: 0 auto;
}

div.navi__two__map span {
	display: block;
}

div.navi__two__map > div:first-child {
	width: 35%;
}

div.navi__two__map > div:last-child {
	width: 65%;
}

div.navi__two__photo {
	display:flex;
	justify-content: space-around;
	flex-wrap: wrap;
	max-width: 640px;
	margin: 0 auto;
}

div.navi__two__photo div img {
	max-width: 302px;
}

div.navi__two__photo div {
	margin-top: 20px;
}

div.navi__two__photo span {
	text-align:center;
}

div.navi__heimenzu {
	width: 640px;
	margin: 0 40px;
}

/* 施設マップ */

div.navi__two__map__2 {
	display:flex;
	justify-content: space-between;
	max-width: 1076px;
	margin: 0 auto;
}

div.navi__two__map__2 span {
	display: block;
}

div.navi__two__map__2 > div:first-child {
	width: 20%;
}

div.navi__two__map__2 > div:last-child {
	width: 80%;
}

div.navi__three__photo {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 850px;
	margin: 0 auto;
}

div.navi__three__photo div img {
	max-width: 266px;
}

div.navi__three__photo div {
	margin-top: 20px;
}

div.navi__three__photo span {
	text-align:center;
}

div.navi__heimenzu__2 {
	width: 850px;
	margin: 5px;
}

/* 施設紹介 */

.navi__sisetu {
	display: grid;
	max-width: 1076px;
	margin: 0 auto;
	gap: 10px;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 222px 222px 222px 222px 222px;
}

.sisetu__box {
	border: 1px solid #000;
	padding: 10px;
}

.big1 {
	grid-column: 2 / 2;
	grid-row: 2 / span 2;
}

.sisetu__flex {
	display:flex;
	justify-content: space-between;
}

.sisetu__flex div:first-child {
	width: 10%;
	margin-right: 10px;
	min-width: 211px;
	max-width: 211px;
}

.sisetu__flex div:last-child {
	width: 80%;
}

.sisetu__flex h4 {
	font-size: 24px;
	margin: 0 0 10px 0;
}

.sisetu__flex p {
	font-size: 18px;
}

/* */

div.navi__two__intro {
	display:flex;
	justify-content: space-between;
	align-items: baseline;
	max-width: 1076px;
	margin: 40px auto 20px auto;
}

div.navi__two__intro span {
	display: block;
	text-align:center;
}

div.navi__three__intro {
	display:flex;
	justify-content: space-between;
	max-width: 1076px;
	margin: 0 auto;
}

div.navi__three__intro div img {
	max-width: 342px;
}

div.navi__three__intro span {
	display: block;
	text-align:center;
	margin-bottom: 10px;
}

div.navi__intro__text {
	position:relative;
	max-width: 1076px;
	margin: 10px auto;
}

div.navi__intro__text p:first-child {
	font-size: 24px;
}

div.navi__intro__text p:last-child {
	text-align:center !important;
	margin: 20px auto;
}

div.navi__intro__bottom {
	position:relative;
	max-width: 1076px;
	margin: 10px auto;
	padding: 20px 0;
	background: #fff;
	color: #000;
}

div.navi__intro__bottom p.bottom {
	font-size: 24px;
	padding: 0 60px;
}

div.navi__intro__bottom p.bottom__b {
	font-size: 24px;
	padding: 0 60px;
	margin: 0 auto;
	text-align:center !important;
}

div.navi__intro__bottom p.bottom a,
div.navi__intro__bottom p.bottom__b a {
	color: #ff0000;
}

div.navi__intro__bottom p.bottom__small {
	font-size: 14px;
	padding: 0 60px;
}

div.navi__intro__bottom__inner {
	display:flex;
	justify-content: space-evenly;
	align-items: center;
	margin: 0 auto;
	font-size: 24px;
}

/* ios */

.ios-sikaku {
	display:inline-block;
	vertical-align: sub;
}


/* ページ-注意事項
---------------------------------------------------------*/

.cautions__three__photo {
	display:flex;
	max-width: 1074px;
	justify-content: space-between;
	align-items: center;
	margin: 30px auto;
}

.cautions__two__hikkosi {
	display:flex;
	max-width: 1074px;
	justify-content: space-between;
	margin: 0 auto;
}

.cautions__two__hikkosi div:first-child {
	max-width: 709px;
	width: 65%;
}

.cautions__two__hikkosi div:last-child {
	max-width: 338px;
	width: 35%;
}

.cautions__two__hikkosi div:first-child ol {
	padding-left: 20px;
}

.cautions__two__hikkosi div:last-child span {
	display: block;
	text-align:center !important;
	margin-bottom: 10px;
}

/* 禁止事項 */

.cautions__three__kinsi {
	display:flex;
	max-width: 1000px;
	justify-content: space-around;
	flex-wrap: wrap;
	align-items: center;
	margin: 30px auto;
}

.cautions__three__kinsi div {
	width: 32%;
	margin-bottom: 40px;
}

.cautions__three__kinsi::after {
    content: "";
    display: block;
    width: 32%;
    height: 0;
}

/* */

h4.cautions {
	max-width: 340px;
	border: 1px solid #000;
	background: #fff;
	padding: 15px 30px;
	font-size: 18px;
	text-align:left !important;
	font-weight: 600;
	margin-top: 40px;
}

div.cautions__text {
	font-size: 18px;
}

div.cautions__text ol {
  position: relative;
  margin: 0 0 0 20px;
  padding: 0;
}

div.cautions__text ol li {
  list-style: none;
  list-style-position: outside;
  margin: 0;
  padding-left: 1.25em;
  line-height: 1.6;
}

div.cautions__text ol li span {
  position: absolute;
  left: 0;
  margin: 0;
}

div.cautions__text ul {
	list-style: none;
	margin: 5px;
}

/* 浄化槽 */

.cautions__two__jyoukaso {
	display:flex;
	max-width: 1025px;
	justify-content: space-between;
	margin: 20px auto;
	flex-wrap: wrap;
	align-items: flex-start;
}

.cautions__two__jyoukaso > div {
	width: 50%;
	margin: 10px 0;
}

.cautions__two__jyoukaso__inner {
	display:flex;
	justify-content: space-between;
	margin: 0 auto;
	align-items: flex-start;
	font-size: 18px;
}

.cautions__two__jyoukaso__inner p {
	margin: 0;
}

.cautions__two__jyoukaso__inner div:first-child {
	min-width: 181px;
	max-width: 181px;
}

.cautions__two__jyoukaso__inner div:last-child {
	padding: 0 20px;
}

/* ゴミ処理 */

.cautions__two__gomi {
	display:flex;
	max-width: 1074px;
	justify-content: space-between;
	margin: 0 auto;
}

.cautions__two__gomi > div:first-child {
	max-width: 709px;
	width: 70%;
}

.cautions__two__gomi > div:last-child {
	max-width: 381px;
	width: 30%;
}

/* 除雪 */

.cautions__jyosetu {
	display:flex;
	max-width: 1074px;
	justify-content: space-between;
	margin: 0 auto;
}

.cautions__jyosetu > div:first-child {
	width: 50%;
}

.cautions__jyosetu > div:last-child {
	width: 50%;
}

.cautions__juosetu__inner1 {
	display:flex;
	justify-content: end;
	margin: 0 auto;
}

.cautions__juosetu__inner1 > div h4 {
	position:relative;
	max-width: 200px;
	border: 1px solid #000;
	background: #fff;
	padding: 15px;
	font-size: 18px;
	text-align:left !important;
	font-weight: 600;
	margin: 0;
}

.cautions__juosetu__inner1 > div:last-child {
	margin-left: 10px;
}

.cautions__juosetu__inner1 > div p {
	font-size: 18px;
	margin: 0;
	padding: 0;
}

.cautions__juosetu__inner2 {
	display:flex;
	justify-content: space-between;
	margin: 20px auto 0 auto;
}

.cautions__juosetu__inner2 > div span img:first-child,
.cautions__juosetu__inner2 > div span img:last-child {
	max-height: 267px !important;
}

.cautions__juosetu__inner2 > div span:first-child {
	display: block;
	text-align:center;
}

.cautions__juosetu__inner2 > div span:last-child {
	display: block;
}

/* 有料サービス
---------------------------------------------------------*/

/* 自販機 */

.zihanki__list {
	position:relative;
	max-width: 1076px;
	margin: 0 auto;
	padding: 0 20px;
}

.zihanki__list h3 {
	margin: 15px 0 0 0;
	padding: 0;
	font-size: 18px;
	font-weight:normal;
}

.zihanki__list dl {
	display: flex;
	flex-wrap: wrap;
	font-size: 18px;
	line-height: 1.6;
	margin: 0;
}

.zihanki__list dt,
.zihanki__list dd {
    margin: 0;
    padding: 0;
	box-sizing: border-box;
}

.zihanki__list dt {
    width: 110px;
}

.zihanki__list dt p.a {
	letter-spacing: 6px;
}

.zihanki__list dt p.b {
	letter-spacing: 18px;
}

.zihanki__list dd {
    width: calc(100% - 110px);
}

/* */

.service__zihanki {
	display:flex;
	justify-content: space-between;
	max-width: 1075px;
	margin: 0 auto;
	font-size: 18px;
}

.service__cleaning__inner ol {
	padding-left: 15px;
}

/* */

.service__three__box {
	display:flex;
	justify-content: space-between;
	max-width: 1075px;
	margin: 0 auto;
	font-size: 18px;
}

.service__three__box ul {
	padding-left: 20px;
}

.service__three__box div:nth-child(2) {
	padding-left: 10px;
}

.service__three__box div:last-child span {
	display: block;
	text-align:center;
}

.service__four__box {
	display:flex;
	justify-content: space-between;
	max-width: 1075px;
	margin: 40px auto 0 auto;
	font-size: 14px;
}

.service__four__box span {
	display: block;
	text-align:center;
}

.service__text {
	position:relative;
	max-width: 725px;
	margin: 20px auto;
	font-size: 18px;
}

.service__text__b {
	position:relative;
	max-width: 1075px;
	margin: 20px auto;
	font-size: 18px;
}

.service__two__box {
	display:flex;
	justify-content: space-between;
	max-width: 1075px;
	margin: 40px auto 20px auto;
	font-size: 16px;
}

.service__two__box div:first-child {
	max-width: 339px;
}

.service__two__box__b {
	display:flex;
	justify-content: space-between;
	max-width: 900px;
	margin: 40px auto 20px auto;
	font-size: 16px;
}

.service__two__box__b div:last-child {
	max-width: 380px;
}

.service__text__c {
	position:relative;
	max-width: 1075px;
	border: 1px solid #000;
	margin: 0 auto;
}

.service__text__c p {
	font-size: 24px;
	padding: 10px;
	text-align:center !important;
}

.service__text__d {
	position:relative;
	max-width: 625px;
	margin: 20px auto;
	font-size: 18px;
}

.service__text__d p {
	margin: 1px 0;
}

.service__text__e {
	position:relative;
	max-width: 1075px;
	margin: 20px auto;
	font-size: 24px;
}

.service__text__e p {
	text-align:center !important;
}

/* クリーニング */

.service__cleaning {
	display:flex;
	justify-content: space-between;
	max-width: 1075px;
	margin: 40px auto 0 auto;
	font-size: 18px;
}

.service__cleaning > div {
	width: 50%;
}

.service__cleaning__inner {
	display:flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

.service__cleaning__inner p {
	margin: 0;
}

.service__cleaning__inner > div.img {
	margin-left: 20px;
}

.service__cleaning__inner > div.midasi {
	width: 176px;
	height: 70px;
	border: 1px solid #000;
	background: #fff;
	padding: 15px;
	margin-right: 20px;
	line-height: 40px;
}

.service__cleaning__inner > div.midasi p {
	font-size: 18px;
	text-align:center !important;
	font-weight: 600;
}

.service__cleaning__inner > div.text {
	max-width: 320px;
}

p.img__b {
	text-align:right !important;
	margin: 20px 40px 0 0 !important;
}

/* 売店 */

.service__baiten {
	display:flex;
	justify-content: space-between;
	max-width: 1075px;
	margin: 40px auto 0 auto;
	font-size: 18px;
}

.service__baiten__b {
	display:flex;
	max-width: 1075px;
	margin: 40px auto 0 auto;
	font-size: 18px;
}

.service__baiten ol {
	padding: 0;
	margin: 0;
}

.service__baiten > div:first-child,
.service__baiten__b > div:first-child {
	width: 195px;
	height: 70px;
	border: 1px solid #000;
	background: #fff;
	padding: 15px;
	margin-right: 20px;
}

.service__baiten > div:first-child p,
.service__baiten__b > div:first-child p {
	font-size: 18px;
	text-align:center !important;
	font-weight: 600;
}

.service__baiten > div:nth-child(2) {
	margin-left: 20px;
}

.service__baiten__b > div:nth-child(3) {
	margin-left: 20px;
}

/* 買取 */


.service__kaitori {
	display:flex;
	position:relative;
	justify-content: space-between;
	max-width: 1075px;
	margin: 40px auto 0 auto;
	font-size: 16px;
}

.service__kaitori__b {
	display:flex;
	position:relative;
	max-width: 1075px;
	margin: 120px auto 0 auto;
	font-size: 18px;
}

.service__kaitori > div:first-child,
.service__kaitori__b > div:first-child {
	width: 168px;
	height: 70px;
	border: 1px solid #000;
	background: #fff;
	padding: 15px;
	margin-right: 20px;
}

.service__kaitori > div:first-child p,
.service__kaitori__b > div:first-child p {
	font-size: 18px;
	text-align:center !important;
	font-weight: 600;
}

table.kaitori td {
	max-width: 175px;
	min-width: 175px;
	background: #c7e8f9;
}

table.kaitori td p {
	padding: 5px;
}

table.kaitori td.blue {
	background: #27a6de;
}

table.kaitori td.blue p {
	color: #fff;
	padding: 5px 15px;
}

.service__kaitori__b ul {
	padding: 0 0 0 20px;
	margin: 0;
}

.scroll-table {
	position:relative;
	width: 100%;
}

.scroll-table p.scroll {
	display: none;
}

.car-icon {
	position:absolute;
	bottom: -100px;
	right: 205px;
	z-index: 1;
}

/* */

.service__kaitori__midasi {
	position:relative;
	max-width: 1075px;
	border: 1px solid #000;
	margin: 60px auto 10px auto;
	background: #fff;
}

.service__kaitori__midasi h4 {
	font-size: 18px;
	padding: 0 15px;
	margin: 15px 0;
}

.service__kaitori__inner {
	position:relative;
	max-width: 1090px;
	margin: 40px auto 20px auto;
	font-size: 18px;
}

.service__kaitori__inner ul.b {
	padding: 0 60px;
}

.service__kaitori__inner ul.a li {
  display: inline-block;
  margin: 2px 0;
}

.service__kaitori__inner ul.a li:not(:first-child)::before {
  content: "｜";
}

/* 画像調整
---------------------------------------------------------*/

img.sp {
	display: none;
}
img.pc {
	display: block;
}
img.img-qr {
	max-width: 140px;
}
img.img-qr-sp {
	max-width: 70px;
}
img.index__guidance {
	max-width: 483px;
}
img.1f1 {
	max-width: 362px !important;
}
img.1f2 {
	max-width: 316px !important;
}
img.2f1 {
	max-width: 193px !important;
}

/* ページbottom背景色
---------------------------------------------------------*/

.bottom__bg {
	background: #ececec;
	padding: 5px 0 20px 0;
}

.bottom__bg__page {
	background: #f7f7f7;
	padding: 20px 0;
}

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

footer {
	background: #45454a;
	color: #fff;
	text-align:left;
	font-size: 15px;
	padding: 15px 0;
}

footer a {
	color: #fff;
}

footer a:hover {
	color: #fff;
	text-decoration: underline;
}

footer h3 {
	font-size: 14px;
	margin: 6px 0;
	font-weight:normal;
}

footer h3.head,
footer h3.head__b,
footer h3.head__c {
	font-weight:bold;
}

footer h3.head__b {
	margin-top: 100px;
}

footer h3.head__c {
	margin-top: 48px;
}

footer h3.head:before,
footer h3.head__b:before,
footer h3.head__c:before {
	content:"";
}

footer h3:before {
	content:">";
	color: #fff;
}

h3.footer img {
	max-width: 167px;
}

.footer-box h3.top {
	margin-top: 30px;
}

.footer-left {
	float: left;
	width: 20%;
}

.footer-right {
	float: right;
	width: 80%;
}

.footer-right {
	position:relative;
   display: flex;
   justify-content: center;
   margin: 0 auto;
}

.footer-left p:first-of-type {
	font-weight: 600;
	margin-top: 30px;
}

.footer-right div:nth-child(1),
.footer-right div:nth-child(2),
.footer-right div:nth-child(3),
.footer-right div:nth-child(4),
.footer-right div:nth-child(5),
.footer-right div:nth-child(6){
	flex-grow: 1;
   padding: 10px 5px 10px 20px;
}

copyright {
	text-align:left;
}

copyright.sp {
	display: none;
}


/* プライバシーポリシーなどテキストページ
---------------------------------------------------------*/

.page__text__page {
	max-width: 1076px;
	margin: 20px auto;
}

.page__text__page ol li ol {
	margin-top: 10px;
}

.page__text__page p.right {
	text-align:right !important;
}

/* ページトップ
---------------------------------------------------------*/

#pageTop {
    display: none;
    position: fixed;
    bottom: 100px;
    right: 50px;
    width: 100px;
    height: 50px;
    line-height: 50px;
    font-size: 13px;
  background: #cc3366;
  border: 1px solid #fff;
  color: #fff;
  text-align: center;
 	z-index: 9997;
}

.pagetop-pc {
	display: block;
}

.pagetop-sp {
	display: none;
}

/* 画像浮かせ（オンマウス）
---------------------------------------------------------*/

.image__mouseover {
width: 100%;
height: 100%;
}
.image__mouseover img {
transition: all .5s;
}
.image__mouseover img:hover {
  transform: translateY(-5px);
  box-shadow: 0 7px 14px rgba(50,50,93,.1), 0 3px 6px rgba(0,0,0,.08);
  opacity: 0.7;
}

/* ボタンエフェクト（オンマウス）
---------------------------------------------------------*/

.btnCommon {
    position: relative;
    display: block;
    max-width: 200px;
    box-sizing: border-box;
    padding: 10px;
    border: 1px solid #005d5a;
	background: #005d5a;
    color: #fff;
    transition: .2s;
	text-align:center;
}

.btn05 {
    overflow: hidden;
}
 
.btn05:before {
    content: "";
    z-index: -1;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -100%;
    background-color: #fff;
    transition: .2s;
}
 
.btn05:hover {
    color: #005d5a;
}
 
.btn05:hover:before {
    left: 0;
}

/* スマホの青枠消去
---------------------------------------------------------*/

*:focus {
  outline: none;
}

a {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}

/* ページ内リンク高さ調整
---------------------------------------------------------*/

#one,#two,#three,#four,#five,#six,#seven,#eight {
    padding-top: 80px;
    margin-top:-80px;
}

/* アクセスマップ
---------------------------------------------------------*/

.page__access__text,
.page__access__text p {
	position:relative;
	text-align:center !important;
}

.page__access__text {
	margin-top: 40px;
}

.iframe-wrap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	margin-top: 30px;
}
.iframe-wrap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

/* */

.access__list {
	position:relative;
	max-width: 440px;
	margin: 0 auto;
	padding: 0 20px;
}

.access__list dl {
	display: flex;
	flex-wrap: wrap;
	line-height: 1.6;
}

.access__list dt,
.access__list dd {
    margin: 0;
    padding: 0;
	box-sizing: border-box;
}

.access__list dt {
    width: 218px;
}

.access__list dt p.a {
	text-align:left !important;
	letter-spacing: 1px;
}

.access__list dt p.b {
	text-align:left !important;
	letter-spacing: 4px;
}

.access__list dd {
    width: calc(100% - 218px);
}

/* スマホナビ
---------------------------------------------------------*/

/* ぼかし */

.mainblur{
	filter: blur(8px);
}

/* */

#g-nav{
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position:fixed;
	z-index: -1;
	opacity: 0;/*はじめは透過0*/
    /*ナビの位置と形状*/
	top:0;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:rgba(255,255,255,0.5);/*背景を少し透過させる*/
    /*動き*/
	transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
	opacity: 1;
	z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/* ボタン */

.openbtn{
	position:fixed;
    z-index: 99999;/*ボタンを最前面に*/
	top:0;
	right: 0;
	cursor: pointer;
    width: 80px;
    height:80px;
	background: #45454a;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 24px;
    height: 4px;
    border-radius: 2px;
	background-color: #fff;
  	width: 40%;
  }

.openbtn span:nth-of-type(1) {
	top:30px;	
}

.openbtn span:nth-of-type(2) {
	top:40px;
}

.openbtn span:nth-of-type(3) {
	top:50px;
}

.openbtn.active {
	background: none;
}

.openbtn.active span:nth-of-type(1) {
    top: 30px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
	background-color: #45454a;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
	background-color: #45454a;
}

.openbtn.active span:nth-of-type(3){
    top: 42px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
	background-color: #45454a;
}
