@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Murecho:wght@100..900&family=Zen+Maru+Gothic:wght@400;700&display=swap');
html {
 font-size: 62.5%;
}
body {
 font-family: "Zen Maru Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
 letter-spacing: 0.05em;
 font-weight: 400;
 color: #512a00;
 background: #fffff3;
 font-size: 2vw;
 line-height: 1.6;
 overflow-x: clip;
}
a {
 display: block;
 transition: .2s;
 text-decoration: none;
 color: #484848;
}
img {
 display: block;
 width: 100%;
 height: auto;
 -webkit-touch-callout: none;
 -webkit-user-select: none;
 -moz-touch-callout: none;
 -moz-user-select: none;
 user-select: none;
}
em {
 display: inline-block;
 font-weight: inherit;
}
span {
 font-weight: inherit;
}
strong {
 font-weight: 900;
}
small {
 display: inline-block;
 font-size: 80%;
 font-weight: inherit;
}
.inner {
 position: relative;
 z-index: 5;
 max-width: 100%;
 padding: 1.5% 5%;
}
.secTtl {
 font-family: "Murecho", serif;
 font-weight: 700;
 font-size: 140%;
 margin-bottom: 0.75em;
}
.caution {
 padding-top: 1em;
 font-size: 1.4rem;
 line-height: 1.5;
}
ul.caution li {
 text-indent: -1em;
 padding-left: 1em;
}
.sp {
 display: none !important;
}
.pc {
 display: block;
}
.arrow {
 position: relative;
}
.arrow:after {
 content: "";
 display: block;
 width: 0.4em;
 height: 0.4em;
 border-top: 2px solid #fff;
 border-right: 2px solid #fff;
 transform: rotate(45deg)translateY(-50%);
 position: absolute;
 top: 50%;
 right: 0.5em;
}
/* layout */
#wrapper {
 position: relative;
 width: 100%;
 height: 100%;
}
/*横スクロール*/
.scroll_container {
 height: 500vh;
}
.sticky_wrap {
 overflow: hidden;
 position: sticky;
 top: 0;
 height: 100vh;
}
.horizontal_scroll {
 position: absolute;
 top: 0;
 height: 100%;
 width: 500vw; /* ページ数×100vw */
 will-change: transform;
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.scroll_contents {
 height: 100%;
 max-height: 100vh;
 width: 100vw;
 overflow: hidden;
}
section {
 position: relative;
 z-index: 5;
}
@media screen and (max-width: 1000px) {
 /* layout */
 #wrapper {
  height: auto;
 }
 .pcArea {
  display: none;
 }
 .contentsArea {
  width: 100%;
  margin: 0 auto;
  box-shadow: none;
 }
}
@media screen and (max-width: 750px) {
 body {
  font-size: 1.5rem;
 }
 .caution {
  font-size: 1.2rem;
 }
 .sp {
  display: block !important;
 }
 .pc {
  display: none !important;
 }
}
/* ▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽ */
#privacy, #tokutei {
 background: #e9e9e9;
 padding: 7.5vw 5vw 0;
 position: relative;
 z-index: 5;
 font-size: 1.6rem;
}
#privacy .inner, #tokutei .inner {
 background: #fff;
 color: #4c4c4c;
 max-width: 1000px;
 margin: 0 auto;
 padding: 5vw;
 line-height: 1.8;
 border-radius: 2.2rem;
 box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}
#privacy h1, #tokutei h1 {
 font-size: 200%;
 font-weight: bold;
 margin-bottom: 4.5vw;
 position: relative;
 color: #095284;
 text-align: center;
 line-height: 1;
}
#privacy .inner h2, #tokutei .inner h2 {
 font-size: 130%;
 font-weight: bold;
 margin: 1.75em 0 1em;
 position: relative;
 padding-bottom: 0.35em;
 line-height: 1.5;
}
#privacy .inner h2:first-of-type, #tokutei .inner h2:first-of-type {
 margin: 0 0 1em;
}
#privacy .inner h2:before, #tokutei .inner h2:before {
 content: "■";
 padding-right: 0.35em;
 color: #095284;
 font-size: 80%;
}
#privacy .inner h2:after, #tokutei .inner h2:after {
 content: "";
 display: block;
 height: 2px;
 width: 100%;
 background: #095284;
 position: absolute;
 bottom: 0;
 left: 0;
}
#privacy .inner h3, #tokutei .inner h3 {
 font-size: 110%;
 line-height: 1.5;
 margin: 1.5em 0 0.5em;
 color: #095284;
 font-weight: bold;
}
#privacy .inner table, #tokutei .inner table {
 width: 100%;
 margin: 0 auto 1.5em;
}
#privacy .inner table th, #tokutei .inner table th {
 color: #fff;
 background: #095284;
 border-bottom: solid 1px #fff;
 padding: 0.5em 1.5em;
 text-align: left;
 font-weight: normal;
 white-space: nowrap;
}
#privacy .inner table td, #tokutei .inner table td {
 padding: 0.5em 1.5em;
 word-break: break-all;
}
#privacy .inner p, #tokutei .inner p {
 margin-bottom: 1em;
}
#privacy .inner .pointList, #tokutei .inner .pointList {
 position: relative;
 margin-bottom: 1.5em;
}
#privacy .inner .pointList li, #tokutei .inner .pointList li {
 position: relative;
 padding-left: 1em;
}
#privacy .inner .pointList li:before, #tokutei .inner .pointList li:before {
 content: "";
 display: block;
 position: absolute;
 top: 0.65em;
 left: 0;
 width: 0.5em;
 height: 0.5em;
 background: #095284;
 border-radius: 50%;
}
#privacy .inner .dlList, #tokutei .inner .dlList {
 position: relative;
 margin-bottom: 1.5em;
 padding-left: 0;
}
#privacy .inner .dlList li dl, #tokutei .inner .dlList li dl {
 display: flex;
 width: 100%;
}
#privacy .inner .dlList li dl dt, #tokutei .inner .dlList li dl dt {
 flex: 1 0 14em;
 max-width: 14em;
 background: #095284;
 color: #fff;
 border-bottom: solid 1px #fff;
 padding: 0.5em 1.5em;
 text-align: left;
 font-weight: normal;
 white-space: nowrap;
}
#privacy .inner .dlList li dl dd, #tokutei .inner .dlList li dl dd {
 padding: 0.5em 1.5em;
 word-break: break-all;
 flex: 1 0 calc(100% - 14em);
 font-weight: bold;
}
#privacy .inner .dlList li dl dd small,
#tokutei .inner .dlList li dl dd small {
 font-weight: normal;
 padding-right: 0.25em;
}
#tokutei .inner .dlList li:nth-child(odd) dl dd {
 background: #efeff3;
}
#privacy .inner table td a, #tokutei .inner table td a {
 color: #4c4c4c;
}
#tokutei .contact {
 text-align: center;
 background: #F9DBD7;
 padding: 2em 0 2.5em;
 border-radius: 1.2rem;
}
#tokutei .contact h3 {
 font-size: 140%;
 margin: 0 0 0.75em;
 color: #D04400;
}
#tokutei .contact .flex {
 display: flex;
 align-items: center;
 justify-content: center;
}
#tokutei .contact .flex .btn {
 flex: 1 0 27rem;
 max-width: 27rem;
 margin: 0 1rem;
 font-size: 2rem;
}
#tokutei .contact .btn.tel a {
 color: #fff;
 background: #bb0000;
 font-family: "Murecho", serif;
 font-weight: 700;
 line-height: 1.3;
 padding: 1em 0;
 border-radius: 6px;
 overflow: hidden;
 position: relative;
 box-shadow: 9px 9px 0 rgba(187, 0, 0, 0.4);
}
#tokutei .contact .btn.tel a:hover {
 box-shadow: 0 0 0 rgba(187, 0, 0, 0.4);
}
#tokutei .contact .btn.tel a em {
 display: block;
 font-weight: 500;
 font-size: 65%;
}
#tokutei .contact .btn.line a {
 color: #fff;
 background: #00b900;
 font-family: "Murecho", serif;
 font-weight: 700;
 line-height: 1.3;
 padding: 0.75em 0;
 border-radius: 6px;
 overflow: hidden;
 position: relative;
 box-shadow: 9px 9px 0 rgba(67, 132, 67, 0.4);
}
#privacy .toTop, #tokutei .toTop {
 text-align: center;
 margin: 2.5em 0;
 display: block;
}
#privacy .toTop a, #tokutei .toTop a {
 display: inline-block;
 color: #fff;
 background: #095284;
 line-height: 1.4;
 padding: 1em 4em;
 border-radius: 4px;
 font-size: 90%;
 font-weight: bold;
 position: relative;
 transition: .2s;
}
#privacy .toTop a:hover, #tokutei .toTop a:hover {
 background: #0E4062;
}
#privacy .toTop a:before, #tokutei .toTop a:before {
 content: "";
 display: block;
 width: 0.5em;
 height: 0.5em;
 border-left: 3px solid #fff;
 border-bottom: 3px solid #fff;
 transform: rotate(45deg)translateY(-50%);
 position: absolute;
 left: 1em;
 top: 50%;
}
#privacy footer, #tokutei footer {
 width: 100vw;
 margin: 0 calc(50% - 50vw);
 text-align: center;
 padding: 0;
 background: none;
}
#privacy footer .inner, #tokutei footer .inner {
 max-width: 100%;
 border-radius: 0;
 background: #aa998a;
 color: #fffff3;
}
#privacy footer .inner .cr, #tokutei footer .inner .cr {
 font-family: Arial, Helvetica, "sans-serif";
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1000px) {
 .inner {
  padding: 1.5rem 1rem;
 }
}
@media screen and (max-width: 750px) {
 #privacy h1, #tokutei h1 {
  font-size: 150%;
  margin-bottom: 0.75em;
 }
 #privacy .inner table th, #tokutei .inner table th {
  display: block;
  text-align: left;
 }
 #privacy .inner table td, #tokutei .inner table td {
  display: block;
 }
 #privacy .inner .dlList li dl dt, #tokutei .inner .dlList li dl dt {
  flex: 1 0 11em;
  max-width: 11em;
 }
 #privacy .inner .dlList li dl, #tokutei .inner .dlList li dl {
 display: block;
}
#privacy .inner .dlList li dl dt, #tokutei .inner .dlList li dl dt {
 flex: none;
 max-width: 100%;
 padding: 0.35em 1.25em;
}
#privacy .inner .dlList li dl dd, #tokutei .inner .dlList li dl dd {
 flex: none;
 font-size: 115%;
 padding: 0.15em 1.25em 0.35em;
}
 #tokutei .inner .dlList li:nth-child(odd) dl dd {
 background: #fff;
}
 #tokutei .contact {
 padding: 1.25em 0.5em 1.5em;
 border-radius: 0.8rem;
}
#tokutei .contact h3 {
 font-size: 130%;
 margin: 0 0 0.5em;
}
#tokutei .contact .flex {
 display: block;
}
#tokutei .contact .flex .btn {
 flex: none;
 max-width: calc(100% - 2rem);
 margin: 0 auto 1rem;
 font-size: 2.2rem;
}
#tokutei .contact .btn.tel a {
 box-shadow: 5px 5px 0 rgba(187, 0, 0, 0.4);
}
#tokutei .contact .btn.line a {
 box-shadow: 5px 5px 0 rgba(67, 132, 67, 0.4);
}
}
@keyframes fadeUp {
 0% {
  opacity: 0;
  transform: translateY(10px);
 }
 100% {
  opacity: 1;
  transform: translateY(0px);
 }
}
@keyframes fadeDown {
 0% {
  opacity: 0;
  transform: translateY(-10px);
 }
 100% {
  opacity: 1;
  transform: translateY(0px);
 }
}
@keyframes fadeLeft {
 0% {
  opacity: 0;
  transform: translateX(-10px);
 }
 100% {
  opacity: 1;
  transform: translateX(0px);
 }
}
@keyframes fadeRight {
 0% {
  opacity: 0;
  transform: translateX(10px);
 }
 100% {
  opacity: 1;
  transform: translateX(0px);
 }
}