@charset "UTF-8";
/* =====================================================
sass使用/cssを直接編集しない
======================================================== */
/* =====================================================
reset
======================================================== */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select, img {
  vertical-align: middle;
}

/* =====================================================
module
======================================================== */
/* clearfix */
.cf {
  zoom: 1;
}

.cf:before, .cf:after {
  content: "";
  display: table;
}

.cf:after {
  clear: both;
}

.marker {
  color: #3b2f2f;
}

.red {
  color: #ff0000;
}

.bold {
  font-weight: bold;
}

/*==================================================
★body
====================================================*/
body {
  width: 100%;
  background-color: #ffffff;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  letter-spacing: 0.1rem;
  color: #000000;
}

a {
  color: #000000;
  text-decoration: underline;
}

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

.marker {
  color: #3b2f2f;
}

img {
  max-width: 100%;
}

/*==================================================
★header
====================================================*/
.logobx {
  position: fixed;
  width: 100%;
  height: 210px;
  z-index: 90;
}

.logobx h1 {
  padding-top: 15px;
  padding-left: 15px;
  width: calc(100% - 90px);
  position: absolute;
  z-index: 8;
  max-width: 400px;
}

.logobx .bgbx {
  position: absolute;
  width: 100%;
  height: 210px;
  z-index: 7;
}

.logobx .bgbx div {
  overflow: hidden;
  width: 100%;
  height: 210px;
}

.logobx .bgbx div img {
  height: 210px;
  width: auto;
  max-width: 3000px;
}

.logobx .pcnav {
  display: none;
}

/*==================================================
★fisrtview
====================================================*/
.firstview {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.firstview .fvbg {
  position: absolute;
  width: 100%;
}

.firstview .fvbg svg {
  width: 100%;
  height: 100vh;
}

.firstview .pho {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.firstview .pho p {
  width: 40%;
  position: absolute;
  border: solid 10px #ffffff;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  opacity: 0.7;
}

.firstview .pho p.pho1 {
  top: 10%;
  left: -10%;
  transform: rotateZ(5deg);
  z-index: 91;
}

.firstview .pho p.pho2 {
  top: 15%;
  left: 5%;
  transform: rotateZ(-10deg);
  z-index: 9;
}

.firstview .pho p.pho3 {
  bottom: 12%;
  left: -10%;
  transform: rotateZ(10deg);
}

.firstview .pho p.pho4 {
  top: 15%;
  right: -20%;
  transform: rotateZ(8deg);
}

.firstview .pho p.pho5 {
  bottom: 5%;
  right: -10%;
  transform: rotateZ(-5deg);
}

.firstview .copy {
  position: absolute;
  z-index: 20;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  font-family: "Noto Serif JP", serif;
  width: 90%;
  text-align: center;
  line-height: 1.75;
  font-size: 3.5vw;
}

.firstview .copybg {
  position: relative;
  z-index: 17;
  top: 0;
  left: 5%;
  width: 90%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.firstview .copybg p {
  width: 100%;
  position: absolute;
  text-align: center;
}

.firstview .copybg p img {
  mix-blend-mode: color-dodge;
}

.firstview .copybg p.bg01 {
  animation: bganim 6s ease 0s infinite alternate none running;
  opacity: 0;
}

.firstview .copybg p.bg02 {
  animation: bganim 6s ease 2s infinite alternate none running;
  opacity: 0;
}

.firstview .copybg p.bg03 {
  animation: bganim 6s ease 4s infinite alternate none running;
  opacity: 0;
}

/*==================================================
★top_kaikan
====================================================*/
.top_kaikan {
  margin-top: 6rem;
}

.top_kaikan h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  text-align: center;
  margin-bottom: 4rem;
}

.top_kaikan .phobx {
  position: relative;
  height: 50vh;
}

.top_kaikan .phobx p {
  width: 50%;
  border: solid 5px #ffffff;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  position: absolute;
}

.top_kaikan .phobx p img {
  width: 100%;
}

.top_kaikan .phobx p.pho1 {
  left: 10%;
  top: 0;
  transform: rotateZ(-3deg);
}

.top_kaikan .phobx p.pho2 {
  right: 10%;
  top: 30%;
  transform: rotateZ(-5deg);
}

.top_kaikan .phobx p.pho3 {
  right: 30%;
  top: 60%;
  transform: rotateZ(5deg);
}

.top_kaikan .txt {
  padding-left: 10%;
  padding-right: 10%;
  padding-bottom: 30px;
  padding-top: 10%;
  margin-top: 2rem;
  background: url("../img/kaikan_bg.jpg") left bottom no-repeat;
  background-size: 100%;
}

.top_kaikan .txt p {
  line-height: 1.75;
  margin-bottom: 2rem;
}

.top_kaikan .txt p.point {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
}

.top_kaikan .txt p.but {
  text-align: right;
  padding-top: 15%;
}

.top_kaikan .txt p.but a {
  border: solid 1px #beadad;
  display: inline-block;
  padding: 20px 20px 25px 20px;
  text-decoration: none;
  position: relative;
  background-color: rgba(255, 255, 255, 0.7);
}

.top_kaikan .txt p.but a::before {
  position: absolute;
  content: "";
  display: block;
  bottom: 10px;
  left: 20px;
  width: calc(100% - 40px);
  height: 1px;
  background-color: #3b2f2f;
}

.top_kaikan .txt p.but a::after {
  position: absolute;
  content: "";
  display: block;
  bottom: 13px;
  right: 20px;
  width: 20px;
  height: 1px;
  background-color: #3b2f2f;
  transform: rotateZ(15deg);
}

/*==================================================
★top_news
====================================================*/
.top_news {
  margin-top: 6rem;
  margin-bottom: 6rem;
}

.top_news h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  text-align: center;
  margin-bottom: 4rem;
}

.top_news .but {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
}

.top_news .txt {
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
}

/*==================================================
★footer
====================================================*/
footer .footnav {
  margin-bottom: 1rem;
  margin-left: 20px;
}

footer .txt {
  line-height: 1.75;
  background-color: #3b2f2f;
  color: #ffffff;
  padding-top: 40px;
}

footer .txt .kanekoghonsya {
  border-bottom: double 3px #ffffff;
  padding-bottom: 2rem;
}

footer .txt .addr {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
  text-align: center;
}

footer .txt .addr .logo {
  max-width: 200px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
}

footer .txt .addr a {
  color: #ffffff;
}

footer .txt .addr.kanekog .logo {
  max-width: 160px;
}

footer .txt .addr.honsya .logo {
  max-width: 200px;
}

footer .txt #cor {
  color: #ffffff;
  padding: 40px 0;
  text-align: center;
  position: relative;
}

footer .pho {
  display: none;
}

/*==================================================
★pagetop
====================================================*/
.pagetop {
  display: none;
  position: fixed;
  bottom: 90px;
  right: 0;
  z-index: 80;
}

.pagetop a {
  display: block;
  background-color: rgba(255, 255, 255, 0.5);
  text-align: center;
  color: #222;
  font-size: 24px;
  text-decoration: none;
}

.pagetop a:hover {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 24px;
  text-decoration: none;
}

/*==================================================
★media 499
====================================================*/
/*==================================================
★media 769
====================================================*/
@media only screen and (min-width: 769px) {
  /* ★firstview-tb */
  .firstview .pho p {
    width: 25%;
  }
  .firstview .pho p.pho1 {
    left: -5%;
  }
  .firstview .pho p.pho2 {
    left: 10%;
  }
  .firstview .pho p.pho3 {
    left: -8%;
  }
  .firstview .pho p.pho4 {
    right: -10%;
  }
  .firstview .pho p.pho5 {
    right: -5%;
  }
  .firstview .copy {
    font-size: 3vw;
  }
  .firstview .copybg {
    width: 70%;
    left: 15%;
  }
  /* ★top_kaikan-tb */
  .top_kaikan h2 {
    font-size: 40px;
  }
  .top_kaikan .photxt {
    display: flex;
    justify-content: space-between;
  }
  .top_kaikan .photxt .phobx {
    width: 55%;
    margin-left: 5%;
  }
  .top_kaikan .photxt .txt {
    width: 37%;
    padding-bottom: 5%;
    padding-top: 5%;
  }
  /* ★top_news-tb */
  .top_news h2 {
    font-size: 40px;
  }
  /* ★footer-tb */
  footer {
    position: relative;
    overflow: hidden;
    padding-top: 10%;
  }
  footer .txt .addrbx {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-right: 20%;
  }
  footer .txt .addrwrap {
    display: flex;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  footer .txt .addrwrap .addr {
    width: 23%;
  }
  footer .txt #cor {
    text-align: right;
    padding-right: 30px;
  }
  footer .pho {
    display: block;
    position: absolute;
    top: 5%;
    right: -10%;
    width: 30%;
    max-width: 300px;
    transform: rotateZ(-5deg);
    border: solid 5px #ffffff;
    background-color: #ffffff;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.7);
    opacity: 0.9;
  }
}

/*==================================================
★media 1239
====================================================*/
@media only screen and (min-width: 1239px) {
  /* ★header-pc */
  .topnav {
    display: none;
  }
  .logobx .pcnav {
    position: absolute;
    z-index: 200;
    width: 100%;
    top: 0;
    left: 0;
    display: block;
  }
  .logobx .pcnav .navbx {
    margin-right: 30px;
    width: 665px;
    position: absolute;
    top: 0;
    right: 90px;
  }
  .logobx .pcnav .navbx ul {
    display: flex;
    justify-content: right;
  }
  .logobx .pcnav .navbx ul li {
    list-style-type: none;
    margin-right: 30px;
  }
  .logobx .pcnav .navbx ul li a {
    text-decoration: none;
  }
  .logobx .pcnav .navbx ul li:last-child {
    margin-right: 0;
  }
  .logobx .pcnav .navbx ul.sub {
    margin-top: 15px;
    font-size: 11px;
    border-bottom: solid 1px #3b2f2f;
    padding-bottom: 5px;
  }
  .logobx .pcnav .navbx ul.main {
    margin-top: 10px;
    font-family: "Noto Serif JP", serif;
    font-size: 13px;
    letter-spacing: 0.1em;
  }
  .logobx .pcnav .toibut a {
    display: block;
    background: linear-gradient(#6b634d, #3b2f2f);
    color: #ffffff;
    margin-top: 15px;
    margin-right: 15px;
    height: 20px;
    padding: 10px;
    text-decoration: none;
    position: absolute;
    line-height: 1;
    width: 70px;
    top: 0;
    right: 0;
    text-align: center;
  }
  .logobx .pcnav .toibut a::before {
    content: "";
    position: absolute;
    display: block;
    top: 2px;
    left: 2px;
    width: 7px;
    height: 2px;
    background-color: #ffffff;
  }
  .logobx .pcnav .toibut a::after {
    content: "";
    position: absolute;
    display: block;
    top: 2px;
    left: 2px;
    width: 2px;
    height: 7px;
    background-color: #ffffff;
  }
  .logobx .pcnav .toibut a span::before {
    content: "";
    position: absolute;
    display: block;
    bottom: 2px;
    right: 2px;
    width: 7px;
    height: 2px;
    background-color: #ffffff;
  }
  .logobx .pcnav .toibut a span::after {
    content: "";
    position: absolute;
    display: block;
    bottom: 2px;
    right: 2px;
    width: 2px;
    height: 7px;
    background-color: #ffffff;
  }
  /* ★firstview-pc */
  .firstview .pho p {
    width: 17%;
  }
  .firstview .pho p.pho1 {
    left: -1%;
  }
  .firstview .pho p.pho2 {
    left: 13%;
  }
  .firstview .pho p.pho3 {
    left: -2%;
  }
  .firstview .pho p.pho4 {
    right: -5%;
  }
  .firstview .pho p.pho5 {
    right: -1%;
  }
  .firstview .copy {
    font-size: 2vw;
    line-height: 2;
  }
  .firstview .copybg {
    width: 50%;
    left: 25%;
  }
  /* ★footer-pc */
  footer .txt .addrwrap {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }
  footer .pho {
    right: -3%;
  }
}

/*==================================================
★IE
====================================================*/
@media all and (-ms-high-contrast: none) and (min-width: 769px) {
  .logobx .pcnav {
    /*              padding-left: calc(100% - 840px) ; */
    /*             width: 670px; */
    /*             .navbx{
                ul{
                    float: right;
                    width: 670px;
                }
            }
            .toibut{
                a{
                    width: 100px;
                    text-align: center;
                }
            } */
  }
  .logobx .pcnav .navbx ul.main {
    font-size: 14px;
  }
}

/*==================================================
★anim
====================================================*/
@keyframes bganim {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/*==================================================
★stage
====================================================*/
header.logobx .logo {
  padding-top: 15px;
  padding-left: 15px;
  width: calc(100% - 90px);
  position: absolute;
  z-index: 8;
  max-width: 400px;
}

#stage article {
  padding-top: 180px;
  background-color: #f3eded;
  line-height: 1.75;
  font-size: 16px;
}

#stage article h1 {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: 22px;
  padding-bottom: 3rem;
  line-height: 1;
  color: #3b2f2f;
}

#stage article h1 span.txt {
  position: relative;
  display: inline-block;
}

#stage article h1 span.txt::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: 9px;
  left: -10px;
  background-color: #cfc3c3;
  width: calc(100% + 20px);
  height: 5px;
}

#stage article h1 span.txt span {
  background-color: #f3eded;
  display: inline-block;
  position: relative;
  z-index: 3;
  padding: 0 5px;
}

#stage article h2 {
  color: #3b2f2f;
  font-size: 18px;
  margin-bottom: 2rem;
  position: relative;
  padding-left: 10px;
}

#stage article h2::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 0;
  border-left: solid 15px #cfc3c3;
  border-bottom: solid 15px transparent;
}

#stage article .colmn {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 4rem;
  max-width: 1000px;
}

#stage article .colmn .colmnin {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

/*==================================================
★footer
====================================================*/
footer.pagefoot {
  background-color: #f3eded;
}

/*==================================================
★company
====================================================*/
#company .greeting .colmnin p {
  margin-bottom: 2rem;
}

#company .greeting .colmnin p.name {
  text-align: right;
}

#company .greeting .colmnin p.pho {
  text-align: center;
}

#company .outline .colmnin dl dt {
  position: relative;
  padding-left: 10px;
}

#company .outline .colmnin dl dt::before {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 10px;
  height: 0;
  border-left: solid 10px #ffffff;
  border-bottom: solid 10px transparent;
}

#company .outline .colmnin dl dd {
  margin-bottom: 2rem;
  padding-left: 25px;
  border-top: solid 1px #ffffff;
  padding-top: 1rem;
}

#company .outline .colmnin dl dd a.ac {
  background-color: #ffffff;
  text-decoration: none;
  padding: 5px;
  border-radius: 5px;
  margin-top: 5px;
  display: inline-block;
}

#company .outline .colmnin dl dd ul {
  margin-left: 15px;
}

/*==================================================
★flow
====================================================*/
#flow .sougiflow .note {
  font-size: 14px;
  margin-bottom: 2rem;
}

#flow .sougiflow .flbx {
  position: relative;
  border-left: solid 2px #3b2f2f;
  margin-bottom: 2rem;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

#flow .sougiflow .flbx > dt {
  background-color: #ffffff;
  padding: 10px;
  margin-left: 20px;
}

#flow .sougiflow .flbx > dd {
  padding: 20px;
}

#flow .sougiflow .flbx > dd dl dt {
  border-bottom: dotted 1px #3b2f2f;
  margin-bottom: 1rem;
}

#flow .sougiflow .flbx > dd dl dd {
  margin-bottom: 1rem;
  margin-left: 15px;
}

#flow .sougiflow .flbx::before {
  position: absolute;
  content: "";
  display: block;
  bottom: 0;
  left: 1px;
  width: 2px;
  height: 10px;
  transform: rotateZ(45deg);
  background-color: #3b2f2f;
}

#flow .sougiflow .flbx.last::before {
  display: none;
}

#flow .youi dl {
  margin-top: 2rem;
  display: flex;
  justify-content: space-between;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

#flow .youi dl dt {
  width: 100px;
}

#flow .youi dl dd {
  width: calc(100% - 120px);
}

#flow .youi dl dd .title {
  border-bottom: dotted 1px #3b2f2f;
  margin-bottom: 1rem;
}

/*==================================================
★tomonokai
====================================================*/
#tomonokai h2 span {
  color: #ff9900;
}

#tomonokai .colmnin .info {
  margin-bottom: 2rem;
}

#tomonokai .colmnin ul {
  margin-left: 15px;
  margin-bottom: 2rem;
}

#tomonokai .colmnin ul li {
  list-style-type: none;
}

#tomonokai .colmnin ul li span {
  color: #3b2f2f;
}

/*==================================================
★contact
====================================================*/
#contact .teltoi .guide {
  margin-top: 2rem;
}

#contact .teltoi .tel {
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-top: 2rem;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
  border-radius: 20px;
  padding: 20px 0;
}

#contact .teltoi .tel a {
  color: #3b2f2f;
  font-size: 26px;
  font-weight: bold;
}

#contact .formtoi .note {
  margin-top: 2rem;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

#contact .formtoi .note span {
  color: #ff0000;
}

#contact .formtoi dl {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

#contact .formtoi dl dt span {
  color: #ff0000;
}

#contact .formtoi dl dd {
  margin-bottom: 1rem;
  color: #666666;
}

#contact .formtoi dl dd input {
  width: 96%;
  font-size: 16px;
  padding: 5px;
  border: solid 1px #cccccc;
  color: #000000;
}

#contact .formtoi dl dd input.radiobx {
  width: 16px;
}

#contact .formtoi dl dd .bk {
  color: #000000;
}

#contact .formtoi dl dd textarea {
  width: 96%;
}

#contact .formtoi .policy {
  color: #666666;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

#contact .formtoi .policy .bk {
  color: #000000;
}

#contact .formtoi .policy .bk span {
  color: #ff0000;
}

#contact .formtoi .but {
  text-align: center;
  margin-top: 2rem;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

#contact .formtoi .but input {
  font-size: 16px;
  background-color: #ffffff;
  border: solid 1px #3b2f2f;
  border-radius: 5px;
  padding: 5px;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  display: inline-block;
  color: #3b2f2f;
}

/*==================================================
★consultation,questionnaire
====================================================*/
#consultation .finfo, #questionnaire .finfo {
  margin-bottom: 3rem;
}

#consultation .finfo p, #questionnaire .finfo p {
  margin-bottom: 1rem;
}

#consultation .finfo p span, #questionnaire .finfo p span {
  color: #ff0000;
}

#consultation .formwrap .mtitle, #questionnaire .formwrap .mtitle {
  color: #3b2f2f;
  position: relative;
  margin-bottom: 1rem;
}

#consultation .formwrap .mtitle::before, #questionnaire .formwrap .mtitle::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #cfc3c3;
  top: 15px;
  left: 0;
}

#consultation .formwrap .mtitle span, #questionnaire .formwrap .mtitle span {
  background-color: #f3eded;
  display: inline-block;
  position: relative;
  padding-right: 10px;
}

#consultation .formwrap dl dt sup, #questionnaire .formwrap dl dt sup {
  color: #ff0000;
}

#consultation .formwrap dl dd, #questionnaire .formwrap dl dd {
  margin-bottom: 1rem;
  color: #666666;
}

#consultation .formwrap dl dd input, #questionnaire .formwrap dl dd input {
  width: 96%;
  font-size: 16px;
  padding: 5px;
  border: solid 1px #cccccc;
  color: #000000;
}

#consultation .formwrap dl dd input.birth, #questionnaire .formwrap dl dd input.birth {
  width: 80%;
}

#consultation .formwrap dl dd input.ckbx, #questionnaire .formwrap dl dd input.ckbx {
  width: 16px;
}

#consultation .formwrap dl dd .bk, #questionnaire .formwrap dl dd .bk {
  color: #000000;
}

#consultation .formwrap dl dd select, #questionnaire .formwrap dl dd select {
  font-size: 16px;
  color: #000000;
}

#consultation .formwrap dl dd select option, #questionnaire .formwrap dl dd select option {
  font-size: 16px;
  color: #000000;
}

#consultation .formwrap .renrakunote, #questionnaire .formwrap .renrakunote {
  color: #666666;
  margin-bottom: 2rem;
}

#consultation .formwrap .but, #questionnaire .formwrap .but {
  text-align: center;
  margin-top: 2rem;
}

#consultation .formwrap .but input, #questionnaire .formwrap .but input {
  font-size: 16px;
  font-size: 16px;
  background-color: #ffffff;
  border: solid 1px #3b2f2f;
  border-radius: 5px;
  padding: 5px;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  display: inline-block;
  color: #3b2f2f;
}

#consultation .formwrap .policy, #questionnaire .formwrap .policy {
  color: #666666;
}

#consultation .formwrap .policy .bk, #questionnaire .formwrap .policy .bk {
  color: #000000;
}

#consultation .formwrap .policy .bk span, #questionnaire .formwrap .policy .bk span {
  color: #ff0000;
}

#consultation .formwrap .orei, #questionnaire .formwrap .orei {
  margin-top: 2rem;
}

#consultation .formwrap .orei span, #questionnaire .formwrap .orei span {
  color: #ff0000;
}

/*==================================================
★policy
====================================================*/
#policy .finfo {
  margin-top: 3rem;
  margin-bottom: 2rem;
}

#policy ul {
  margin-left: 25px;
}

#policy ul li {
  margin-bottom: 1rem;
}

#policy .name {
  margin-top: 2rem;
  text-align: right;
}

#policy h4 {
  margin-left: 60px;
}

/*==================================================
★kaikan
====================================================*/
#kaikan .phokaikan {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
}

#kaikan .colmn.service .pho {
  margin-bottom: 1rem;
}

#kaikan .colmn.service .txt p {
  margin-bottom: 1rem;
}

#kaikan .colmn.photo dl {
  padding: 5px;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
  margin-bottom: 2rem;
}

#kaikan .colmn.photo dl dt {
  text-align: center;
  margin-bottom: 0.5em;
  background-color: #ffffff;
}

#kaikan .colmn.photo dl dd p {
  padding: 15px;
}

#kaikan .colmn#access .ad {
  margin-bottom: 2rem;
}

#kaikan .colmn#access .map iframe {
  width: 100%;
}

/*==================================================
★price
====================================================*/
#price .colmn.course .colmnin {
  background-color: #ffffff;
  margin-bottom: 2rem;
  padding: 3%;
  position: relative;
}

#price .colmn.course .colmnin::before {
  content: "";
  position: absolute;
  display: block;
  top: 5px;
  left: 5px;
  width: 30px;
  height: 0;
  border-left: solid 30px #ca6887;
  border-bottom: solid 30px transparent;
}

#price .colmn.course .colmnin h3 {
  text-align: center;
  color: #ca6887;
}

#price .colmn.course .colmnin h3 span {
  font-size: 40px;
}

#price .colmn.course .colmnin dl {
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

#price .colmn.course .colmnin dl dt {
  width: 35%;
}

#price .colmn.course .colmnin dl dt.moto {
  color: #666666;
}

#price .colmn.course .colmnin dl dd {
  width: 62%;
}

#price .colmn.course .colmnin dl dd.moto {
  color: #666666;
}

#price .colmn.course .colmnin dl dd span {
  font-weight: bold;
  font-size: 20px;
}

#price .colmn.course .colmnin .pho {
  margin-bottom: 1rem;
}

#price .colmn.course .colmnin .ninzu {
  text-align: center;
  margin-bottom: 1rem;
}

#price .colmn.course .colmnin ol {
  margin-left: 35px;
  color: #666666;
  margin-bottom: 1rem;
}

#price .colmn.tokuten .info {
  margin-bottom: 3rem;
}

#price .colmn.tokuten h3 {
  font-size: 18px;
  color: #ca6887;
  position: relative;
  margin-bottom: 2rem;
}

#price .colmn.tokuten h3::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #ffffff;
  top: 15px;
  left: 0;
  z-index: 1;
}

#price .colmn.tokuten h3 span {
  display: inline-block;
  background-color: #f3eded;
  position: relative;
  z-index: 2;
  padding-right: 10px;
}

#price .colmn.tokuten .kaihi {
  text-align: center;
  color: #ca6887;
  margin-bottom: 1rem;
}

#price .colmn.tokuten .kaihi span {
  font-size: 50px;
  font-weight: bold;
}

#price .colmn.tokuten .list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#price .colmn.tokuten .list dl {
  width: calc(50% - 22.5px);
  background-color: #ffffff;
  margin-bottom: 5px;
  padding: 10px;
  position: relative;
}

#price .colmn.tokuten .list dl::before {
  content: "";
  position: absolute;
  display: block;
  top: 5px;
  left: 5px;
  width: 10px;
  height: 0;
  border-left: solid 10px #ca6887;
  border-bottom: solid 10px transparent;
}

#price .colmn.tokuten .list dl dt {
  font-weight: bold;
  font-size: 12px;
  color: #666666;
}

#price .colmn.tokuten .list dl dd {
  color: #ca6887;
  text-align: center;
}

#price .colmn.tokuten .list dl dd span {
  font-size: 24px;
  font-weight: bold;
}

#price .colmn.prier .info {
  font-size: 18px;
  font-weight: bold;
  color: #ca6887;
}

#price .colmn.prier ol {
  margin-left: 25px;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

#price .colmn.prier .but {
  background-color: #ffffff;
  padding: 5px;
  text-align: center;
  border: double 3px #ca6887;
}

#price .colmn.option dl dt {
  border-bottom: solid 1px #ffffff;
}

#price .colmn.option dl dd {
  margin-bottom: 1rem;
  padding-left: 15px;
}

/*==================================================
★media 769
====================================================*/
@media only screen and (min-width: 769px) {
  /* ★stage-tb */
  #stage article h1 {
    font-size: 30px;
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
  #stage article h1 span.txt::before {
    top: 14px;
  }
  #stage article h1 span.txt span {
    padding: 0 10px;
  }
  /* ★company-tb */
  #company .greeting .colmnin {
    display: flex;
    justify-content: space-between;
  }
  #company .greeting .colmnin .pho {
    width: 40%;
  }
  #company .greeting .colmnin .txt {
    width: 57%;
  }
  #company .outline .colmnin dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #company .outline .colmnin dl dt {
    width: 30%;
    border-top: solid 1px #ffffff;
  }
  #company .outline .colmnin dl dd {
    width: calc(67% - 25px);
  }
  /* ★flow-tb */
  #flow .youi dl dt {
    width: 150px;
  }
  #flow .youi dl dd {
    width: calc(100% - 170px);
  }
  /* ★contact-tb */
  #contact .formtoi dl {
    display: flex;
    justify-content: space-between;
  }
  #contact .formtoi dl dt {
    width: 30%;
  }
  #contact .formtoi dl dd {
    width: 67%;
  }
  /* ★consultation-tb */
  #consultation .formwrap dl, #questionnaire .formwrap dl {
    display: flex;
    justify-content: space-between;
  }
  #consultation .formwrap dl dt, #questionnaire .formwrap dl dt {
    width: 30%;
  }
  #consultation .formwrap dl dd, #questionnaire .formwrap dl dd {
    width: 67%;
  }
  #consultation .formwrap .orei, #questionnaire .formwrap .orei {
    text-align: center;
  }
  /* ★kaikan-tb */
  #kaikan .colmn.service .colmnin {
    display: flex;
    justify-content: space-between;
  }
  #kaikan .colmn.service .colmnin .pho {
    width: 50%;
  }
  #kaikan .colmn.service .colmnin .txt {
    width: 47%;
  }
  #kaikan .colmn.photo .phobx {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #kaikan .colmn.photo .phobx dl {
    width: 47%;
  }
  /* ★price-tb */
  #price .colmn.course .colmnin ol {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #price .colmn.course .colmnin ol li {
    width: 48%;
  }
  #price .colmn.tokuten .kaihi span {
    font-size: 70px;
  }
  #price .colmn.tokuten .list dl dt {
    font-size: 16px;
  }
  #price .colmn.tokuten .list dl dd span {
    font-size: 40px;
  }
  #price .colmn.option dl {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #price .colmn.option dl dt {
    width: 40%;
    margin-bottom: 1rem;
  }
  #price .colmn.option dl dd {
    width: 57%;
    border-bottom: solid 1px #ffffff;
  }
}

/*==================================================
★media 1239
====================================================*/
@media only screen and (min-width: 1239px) {
  /* ★stage-pc */
  #stage article h1 {
    font-size: 40px;
    margin-top: 4rem;
    margin-bottom: 4rem;
  }
  #stage article h1 span.txt::before {
    top: 22px;
  }
  #stage article h2 {
    font-size: 24px;
  }
  /* ★company-pc */
  #company .outline .colmnin {
    display: flex;
    justify-content: space-between;
  }
  #company .outline .colmnin dl {
    width: 60%;
  }
  #company .outline .colmnin .pho {
    width: 37%;
  }
  /* ★kaikan-pc */
  #kaikan .colmn.service.left {
    padding-right: 10%;
  }
  #kaikan .colmn.service.right {
    padding-left: 10%;
  }
  #kaikan .colmn.photo {
    margin-top: 6rem;
  }
}

/*==================================================
★IE
====================================================*/



/*more追加*/
#youtube{
	margin-top: 50px;
	text-align: center;
}
.youtube {
	max-width: 560px;
	aspect-ratio: 16 / 9;
	margin-left: auto;
	margin-right: auto;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
