@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;700&display=swap);

*,
:after,
:before {
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 box-sizing: border-box
}

html {
 margin: 0;
 padding: 0;
 border: 0;
 outline: 0;
 vertical-align: baseline;
 background: 0 0;
 font-size: 62.5%;
 width: 100%;
 height: 100%;
 font-family: sans-serif;
 color: #727171
}

body {
 -webkit-text-size-adjust: 100%;
 -ms-text-size-adjust: 100%;
 margin: 0;
 padding: 0;
 border: 0;
 outline: 0;
 color: #000;
 line-height: 1.5;
 vertical-align: baseline;
 letter-spacing: .1em;
 font-smooth: always;
 -webkit-font-smoothing: antialiased;
 font-smoothing: antialiased;
 background-color: transparent;
 font-size: 1.4rem;
 height: 100%
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
 margin: 0;
 padding: 0;
 border: 0;
 outline: 0;
 font-size: 100%;
 vertical-align: baseline;
 background: 0 0;
 font-weight: 400
}

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

/* textarea{
    display: block;
} */

ul {
 list-style: none;
 list-style-position: outside;
 margin: 0;
 padding: 0
}

ul li {
 margin: 0;
 padding: 0;
 list-style: none
}

ol {
 list-style: decimal;
 list-style-position: inside
}

ol li {
 margin-bottom: 5px
}

li img {
 vertical-align: bottom
}

div img {
 vertical-align: bottom
}

caption,
th {
 text-align: left
}

q:after,
q:before {
 content: ''
}

:link img,
:visited img,
a img {
 border: none
}

blockquote,
q {
 quotes: none
}

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

strong {
 font-weight: 700
}

del {
 text-decoration: line-through
}

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

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

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

mark {
 background-color: #dfdfdf;
 color: #000;
 font-style: italic;
 font-weight: 700
}

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

input::-webkit-input-placeholder {
 color: #666;
 font-size: 14px;
 font-size: 1.4rem
}

input:-moz-placeholder {
 color: #666;
 font-size: 14px;
 font-size: 1.4rem
}

img {
 margin: 0;
 padding: 0
}

a {
 margin: 0;
 padding: 0;
 font-size: 100%;
 vertical-align: baseline;
 background: 0 0;
 cursor: pointer;
 outline: 0;
 text-decoration: none
}

a:link {
 text-decoration: none;
 color: #363636
}

a:visited {
 text-decoration: underline;
 color: #363636
}

a:active,
a:focus {
 opacity: .7;
 outline: 0
}

a:hover {
 -webkit-transition: all .2s ease-in-out;
 -moz-transition: all .2s ease-in-out;
 -o-transition: all .2s ease-in-out;
 -ms-transition: all .2s ease-in-out;
 transition: all .2s ease-in-out;
 opacity: .7
}

body {
 width: 100%;
 height: 100%;
 background: #fff
}

.in_atd {
 padding-left: 1em;
 text-indent: -1em
}

.attention_red {
 color: #a30008
}

.clear {
 clear: both
}

.hide-content {
 display: none
}

.serif {
 font-family: "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", Georgia, Times, "Times New Roman", serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"
}

.pc-object img {
 width: 100%
}

.mb-object {
 display: none !important
}

.pc-object {
 display: block !important
}

.res-object {
 display: none !important
}

.pc-object_fl {
 display: flex !important
}

.se-object-none {
 display: none !important
}

.se-object {
 display: none !important
}

@media screen and (max-width: 768px) {
 .mb-object {
  display: block !important
 }

 .pc-object {
  display: none !important
 }

 .res-object {
  display: block !important
 }

 .pc-object_fl {
  display: none !important
 }

 .se-object-none {
  display: block !important
 }
}

@media screen and (max-width: 320px) {
 .se-object-none {
  display: none !important
 }

 .se-object {
  display: block !important
 }
}

h3.pickup-title {
 text-align: center;
 padding: 30px;
 position: relative;
 font-weight: 700;
 color: transparent
}

h3.pickup-title span {
 display: block;
 font-family: Barlow, sans-serif;
 font-size: 2.2rem;
 margin-bottom: 10px
}

h3.pickup-title::after {
 content: '';
 width: 100%;
 height: 0;
 position: absolute;
 top: 50%;
 left: 0
}

h3.pickup-title::before {
 content: '';
 width: 100%;
 height: 0;
 position: absolute;
 top: calc(50% + 5px);
 left: 0
}

h3.pickup-title.is-show {
 color: #000;
 transition: .1s all ease .15s
}

h3.pickup-title.is-show::after {
 top: 0;
 height: 100%;
 border-top: 1px solid #000;
 border-bottom: 1px solid #000;
 transition: .6s all ease 0s
}

h3.pickup-title.is-show::before {
 top: 5px;
 height: calc(100% - 10px);
 border-top: 2px dotted #000;
 border-bottom: 2px dotted #000;
 transition: .6s all ease 0s
}

h4.content-title {

 font-size: 2.4rem;
 padding: 5px 0 5px 0px;
 position: relative;
 font-weight: 700;
 margin-bottom: 20px
}

/* h4.content-title::before {
    content: '';
    width: 5px;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left:0
} */

h4.content-title span {
 font-size: 1.4rem
}

h4.content-title-white {
 border-top: 1px solid #fff;
 border-bottom: 1px solid #fff;
 border-left: 1px solid #fff;
 border-right: 1px solid #fff;
 font-size: 2.8rem;
 padding: 10px 0 10px 70px;
 position: relative;
 margin-bottom: 20px
}

h4.content-title-white span {
 font-size: 1.4rem
}

h4.radius-title {
 display: flex;
 justify-content: center
}

h4.radius-title span {
 border-radius: 30px;
 background: #000;
 color: #fff;
 font-weight: 700;
 font-size: 2rem;
 padding: 3px 50px;
 display: inline-block;
 letter-spacing: .2em
}

.border-box h4.radius-title {
 margin-top: -30px;
 transform: translateY(-50%);
 -webkit-transform: translateY(-50%)
}

.icon-list li {
 padding-left: 15px;
 position: relative
}

.icon-list li::before {
 content: '';
 width: 8px;
 height: 8px;
 background: #000;
 position: absolute;
 top: .4em;
 left: 0
}

.photo-content {
 display: flex;
 flex-wrap: wrap;
 margin-bottom: 5%
}

.photo-content h4.content-title {
 width: 100%
}

.photo-content .text {
 width: 60%;
 line-height: 2
}

.photo-content .photo {
 width: 30%;
 margin-left: 10%
}

.photo-content .photo img {
 width: 100%
}

.border-box {
 border: 1px solid #000;
 padding: 30px;
 margin: 30px 0 50px
}

.page-lead-text {
 text-align: center
}

.page-lead-text .main {
 font-size: 2vw;
 line-height: 2em
}

.page-lead-text .sub {
 margin-top: 20px;
 line-height: 2em;
 font-size: 1.1vw
}

.l-text-box dt {
 font-size: 1.8rem;
 line-height: 2em;
 margin-bottom: 20px
}

.l-text-box dt.center {
 text-align: center
}

.l-text-box dd {
 line-height: 2em
}

.two-column {
 display: flex;
 flex-wrap: wrap
}

.two-column>* {
 width: 48%;
 margin-right: 4%;
 margin-left: 0
}

.two-column> :nth-of-type(2n) {
 margin-right: 0
}

.three-column {
 display: flex;
 flex-wrap: wrap
}

.three-column>* {
 width: 31%;
 margin-right: 3.5%;
 margin-bottom: 3.5%;
 margin-left: 0
}

.three-column> :nth-of-type(3n) {
 margin-right: 0
}

table.table_std {
 border-collapse: collapse;
 width: 100%;
 margin-bottom: 20px;
 border-top: 1px solid #000;
 border-bottom: 1px solid #000;
 border-left: 1px solid #000
}

table.table_std td,
table.table_std th {
 padding: 10px;
 font-size: 14px;
 color: #000;
 text-align: left;
 vertical-align: middle
}

table.table_std td {
 background: rgba(255, 255, 255, .4);
 border-bottom: 1px solid #000;
 border-right: 1px solid #000
}

table.table_std th {
 background: #c28941;
 color: #fff;
 font-weight: 700;
 border-bottom: 1px solid #fff;
 border-right: 1px solid #fff
}

table.table_std th:last-child {
 border-right: 1px solid #000
}

table.table_std tr:last-child th {
 border-bottom: none
}

table.table_std .center {
 text-align: center
}

.tuition table.table_std a {
 border-bottom: 1px solid
}

.paragraph {
 line-height: 1.8;
 margin-bottom: 40px
}

.paragraph.center {
 text-align: center
}

.paragraph .attention {
 font-size: .8em
}

.paragraph>img {
 width: 100%
}

.more-box {
 display: flex;
 justify-content: center
}

.more-box a {
 background: #000;
 font-family: Barlow, sans-serif;
 color: #fff;
 padding: 3px 30px;
 font-weight: 700;
 box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
 border: 1px solid #000;
 display: inline-block
}

.more-box a:hover {
 background: #fff;
 color: #000;
 box-shadow: none;
 opacity: 1
}

a.link_btn {
 display: flex;
 align-items: center;
 width: 100%;
 padding: 15px 80px 15px 20px;
 margin: 10px 0 20px;
 position: relative;
 color: #c28941;
 min-height: 53px;
 font-size: 1.4rem;
 border: 1px solid #c28941;
 background: #fff;
 font-weight: 700;
 box-shadow: 0 1px 2px rgba(0, 0, 0, .2)
}


.slide-up {
 transform: translateY(20%);
 -webkit-transform: translateY(20%);
 opacity: 0
}

.slide-up.show {
 transition: .5s all ease-in-out 0s;
 opacity: 1;
 transform: translateY(0);
 -webkit-transform: translateY(0)
}

.preparation {
 text-align: center;
 margin-top: 30px;
 margin-bottom: 50px;
 font-size: 2.2rem;
 border: 1px solid #666;
 color: #666;
 padding: 30px;
 background: #fff;
 box-shadow: 0 2px 4px rgba(0, 0, 0, .18)
}

@media screen and (max-width: 768px) {
 h3.pickup-title {
  font-size: 1.6rem
 }

 h3.pickup-title span {
  font-size: 3.2rem
 }

 h4.radius-title span {
  border-radius: 20px;
  font-size: 1.7rem;
  padding: 3px 40px;
  letter-spacing: .1em
 }

 .border-box h4.radius-title {
  margin-top: -30px
 }

 .photo-content {
  margin-bottom: 50px
 }

 .photo-content .text {
  width: 100%;
  line-height: 2
 }

 .photo-content .photo {
  margin-top: 10px;
  width: 100%;
  margin-left: 0
 }

 .photo-content .photo img {
  width: 100%
 }

 .page-lead-text {
  width: 90%;
  margin: auto
 }

 .page-lead-text .main {
  font-size: 2.4rem
 }

 .page-lead-text .sub {
  padding: 10px;
  font-size: 1.4rem
 }

 .two-column {
  display: flex;
  flex-wrap: wrap
 }

 .two-column>* {
  width: 100%;
  margin-right: 0;
  margin-bottom: 40px
 }

 .two-column> :nth-of-type(2n) {
  margin-right: 0
 }

 .three-column {
  display: flex;
  flex-wrap: wrap
 }

 .three-column>* {
  width: 100%;
  margin-right: 0;
  margin-bottom: 40px
 }

 .three-column> :nth-of-type(3n) {
  margin-right: 0
 }

 table.table_std {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 20px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000
 }
}

body {
 background: #000
}

body.iframe {
 padding: 20px 20px;
 background: #fff;
}

body {
 overscroll-behavior-x: none
}

.l-header {
 background: #fff;
 position: fixed;
 z-index: 100;
 width: 100%;
 height: 7vh;
 top: 6vh;
 left: 0;
 padding: 0 3%;
 display: flex;
 justify-content: space-between;
 align-items: center;
}

.l-header .l-title {
 width: 20vh
}

.l-header .l-title a {
 display: block
}

.l-header .l-title a h1 {}

.l-header .l-title a img {
 width: 100%;
 max-width: 200px;
 height: auto;
 display: block
}

.l-menu {
 width: calc(100% - 20vh);
 display: flex
}

.l-menu .category-list {
 display: flex;
 width: 100%;
 justify-content: flex-end
}

.l-menu .category-list li {
 margin-left: 2%;
 display: flex
}

.l-menu .category-list li a {
 display: flex;
 align-items: center;
 font-weight: 700;
 font-family: 'M PLUS 1p', sans-serif;
 font-size: 2vh;
}



.l-menu .category-list li.active a {
 color: red
}

.content-wrap {
 height: 100vh;
 /* overflow:scroll */
}

.content-inner {
 width: 100%;
 margin: 0 auto;
 padding: 0 0 5%
}

.l-section {
 padding-top: 15vh
}

.section-inner {
 width: 100%;
 display: flex;
 padding: 0 5vh;
 height: 100%;
}

.left-navi {
 width: 20%;
 display: flex;
 align-items: center;
 flex-wrap: wrap;
 border-right: 1px solid #fff;
 font-family: 'M PLUS 1p', sans-serif;
 z-index: 3
}

body:not(.top) .left-navi {
 position: fixed;
 top: 0;
 left: 5vh;
 height: 100%
}

.left-navi h2.navi-title {
 color: #fff;
 font-size: 32px;
 width: 100%;
 font-weight: 700;
 margin: auto 0 3vh;
 padding: 0 0.4em;
}

@media (max-width: 989px) {
 .left-navi h2.navi-title {
  font-size: 20px;
 }
}

.left-navi .list {
 margin: 0 0 auto;
 padding-right: 10px;
 width: 100%
}

.left-navi .list li {
 margin-bottom: 30px;
 width: 100%;
 color: #fff;
 display: flex;
 align-items: center;
 padding: 0 .2em;
 font-size: min(2em, 18px);
 font-weight: 700;
 position: relative;
 /* height: 2.5vh; */
 cursor: pointer;
}

@media (max-width: 989px) {
 .left-navi .list li {
  font-size: 16px;
 }
}

.left-navi .list li span {
 font-weight: 700;
 padding: 0 0.4em;
 transition: .3s;
}

.left-navi .list li span:hover {
 background: #fff;
 color: #000;
}

.left-navi .list li.current span {
 background: #fff;
 color: #000;
}

.left-navi .list li.current a {
 color: #000
}

.left-navi .list li::before {
 content: '';
 position: absolute;
 width: 100%;
 height: 100%;
 pointer-events: none
}

.left-navi .list li:hover::before {
 content: ''
}

.left-navi .list li a {
 display: block;
 color: #fff
}

.right-content {
 width: 80%;
 color: #fff;
 overflow: hidden;
 padding: 0 5%;
 z-index: 3
}

body:not(.top) .right-content {
 margin-left: 20vw;
 width: calc(100% - 20vw)
}

.right-content .right-content-inner {
 height: 100vh;
 transition: all .3s ease .1s;
 padding-left: 0;
 display: flex;
 align-items: center
}

.right-content .right-content-inner.vision {
 height: 100vh;
 transition: all .3s ease .1s;
 padding-left: 0;
 display: flex;
 align-items: center;
 justify-content: center;
}

.video-wrap {
 width: 100vw;
 height: 100vh;
 overflow: hidden;
 position: fixed;
 top: 0;
 left: 0;
 z-index: -1
}

.video-wrap video {
 width: auto;
 min-width: inherit;
 height: 100vh;
 min-height: 100vh;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%)
}

.video-wrap img {
 width: auto;
 min-width: inherit;
 height: 100vh;
 min-height: 100vh;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%)
}

.video-wrap::before {
 content: '';
 background: rgba(0, 0, 0, .7);
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 z-index: 1
}

.top .video-wrap::before {
 display: none
}

@media screen and (min-aspect-ratio: 16 / 9) and(orientation: landscape) {
 .video-wrap video {
  width: 100vw;
  min-width: 100vw;
  height: auto;
  min-height: inherit
 }
}

.news .left-navi {
 width: 10%
}

.news .right-content {
 width: 90%;
 padding-left: 0
}

.news.cms-archive .right-content {
 overflow-y: scroll
}

.news-inner {
 width: 100%
}

.news-inner .news-list {
 width: 100%;
 border-top: 1px solid #fff
}

.news-inner .news-list>li {
 padding: 3vh;
 display: flex;
 border-bottom: 1px solid #fff
}

.news-inner .news-list>li .day {
 width: 20vh;
 font-size: 2vh;
 font-weight: 700
}

.news-inner .news-list>li .news-post {
 width: calc(100% - 20vh)
}

.news-inner .news-list>li .news-post h5.title {
 font-size: 1.7rem;
 margin-bottom: 1em
}

.news-inner .news-list>li .news-post p {
 margin-bottom: 2vh;
 font-size: 1.4rem;
 line-height: 1.8em;
 width: 100%
}

.news-inner .news-list>li .news-post p:last-child {
 margin-bottom: 0
}

.news-inner .news-list>li .news-post a {
 color: #fff;
 border-bottom: 1px solid #fff
}

.news-inner .news-list>li .news-post ol li {
 width: calc(100% - 1.5em);
 margin-left: 1.5em;
 list-style-type: decimal
}

.top .news-inner .news-list {
 margin-top: 4vh
}

.mw_wp_form {
 margin: 0 auto;
 color: #fff;
 /* width: 100%; */
 /* text-align: center; */
 height: 100%;
 width: 80%;
 max-width: 1200px;

}

@media (max-width: 768px) {
 .mw_wp_form {
  height: 100%;
  width: 100%;

 }
}


.contact-inner {
 align-items: center;
 display: grid;
 grid-template:
  "text text text"
  "form ... privacy"
  "btn btn btn"
  /60% 10% 40%
 ;
 padding-top: 5vh;
 width: 100%;
 color: #fff;


}

@media (max-width: 768px) {
 .contact-inner {
  align-items: center;
  display: grid;
  grid-template:
   "text"
   "form"
   "privacy"
   "btn"
   /100%
  ;
  padding-top: 0vh;
  padding-bottom: 60px;
  width: 100%;
  color: #fff;


 }
}

.contact-text {
 grid-area: text;
}

.contact-list {
 grid-area: form;
 padding-top: 0px;
}

.contact-privacy {
 grid-area: privacy;
}

@media (max-width: 768px) {
 .contact-privacy {
  padding-top: 40px;
 }
}

.send-btn {
 grid-area: btn;
}

.contact-inner .required {
 font-weight: 700;
 font-size: 1rem
}


.contact-text {
 margin-bottom: 3vh;
 text-align: center;
}

/* .contact-list {
    width:65%
}

.contact-privacy {
    width:35%
} */

.contact-privacy .privacy-title {
 font-weight: 700;
 font-size: 18px;
 text-align: center;
 margin-bottom: 2vh
}

@media (max-width: 989px) {
 .contact-privacy .privacy-title {
  font-size: 16px;
 }
}

.contact-privacy .privacy-box {
 height: 36vh
}

@media (max-width: 768px) {
 .contact-privacy .privacy-box {
  height: 40vh;
 }
}

.contact-privacy .privacy-box iframe {
 width: 100%;
 height: 100%;
}

.contact-privacy .privacy-btn {
 margin: 1vh auto 0;
 text-align: center;
}

.privacy-btn label {
 width: 100%;
 align-items: center;
 justify-content: center;
}

.privacy-btn label input {
 width: 20px;
}



.privacy-wrap {
 padding: 5%;
 background: #fff
}

.privacy-wrap .title {
 font-weight: 700;
 font-size: 1.2rem
}

.privacy-wrap p,
.privacy-wrap ul {
 font-size: 1.2rem;
 margin-bottom: 1em;
 padding-left: 3.8em
}

.privacy-wrap .prybacy_tbl {
 width: 100%;
 border: 1px solid #000;
 margin-top: 10px;
 font-size: 1.2rem
}

.privacy-wrap .prybacy_tbl td,
.privacy-wrap .prybacy_tbl th {
 padding: 5px
}

.privacy .privacy_image {
 border: solid 1px #000;
 margin: 40px 0 0;
 padding: 20px;
}

.privacy .privacy_image img {
 width: 100%;
 max-width: 480px;
 height: auto;
}

.privacy .title {
 font-weight: bold;
}

/* .contact-item {
    align-items: flex-start;
    justify-content: flex-start;
    padding:1vh 5% 1vh 0;
} */
.contact-item {
 display: flex;
 padding: 1vh 0 1vh 0;
 width: 100%;
}

input,
select {
 vertical-align: middle;
 background: #000;
 border: .1px solid #fff;
 color: #fff;
 margin: 2px;
 padding: 2px;
 width: 100%;
}

textarea {
 vertical-align: middle;
 background: #000;
 border: .1px solid #fff;
 color: #fff;
 margin: 2px;
 padding: 2px
}

.c-contact-name {
 text-align: center;
 width: 30%;
 font-size: min(1.2vh, 16px);
}


.c-contact-box {
 width: 70%;
 max-width: 480px;
}

.c-contact-box textarea {
 width: 100%;
}

.contact-item .title {
 width: 180px;
 font-size: 1.2rem
}


.contact-item .content p {
 display: flex;
 flex-wrap: wrap
}

.contact-item .content .mwform-checkbox-field-text {
 color: #fff
}

/* .contact-inner {
    flex-direction: column;
    padding-top: 5vh;
    width: 100%;
    color: #fff;
    margin-bottom:10vh
}

.contact-inner .required {
    font-weight: 700;
    font-size:1rem
}

.contact-text {
    width: 100%;
    margin-bottom:3vh
}

.contact-list {
    width:100%
}

.contact-list input {
    max-width: 170px;
    margin-bottom:5px
}

.contact-privacy {
    width: 85%;
    margin:0 auto
}

.contact-privacy .privacy-title {
    font-weight: 700;
    font-size: 2vh;
    margin-bottom:2vh
}

.contact-privacy .privacy-box {
    height:48vh
}

.contact-privacy .privacy-box iframe {
    width: 100%;
    height:100%
}

.contact-privacy .privacy-btn {
    margin: 1vh auto 0;
    text-align:center
}

.contact-item {
    padding:1vh 5% 1vh 0
}

.contact-item .title {
    width:40%
}

.contact-item .content {
    font-size: 1.4vh;
    width:60%
}

.contact-item .content p {
    display: flex;
    flex-wrap:wrap
}

.contact-item .content .mwform-checkbox-field-text {
    color:#fff
}

.send-btn {
    margin: 2vh auto 4vh;
    width:65%
} */

.mw_wp_form .horizontal-item {
 margin-right: 1em
}

.mw_wp_form .horizontal-item+.horizontal-item {
 margin-left: 0 !important
}

.send-btn {
 margin: 2vh auto 0;
 width: 20%
}

@media (max-width: 768px) {
 .send-btn {
  margin: 30px auto 0;
  width: 80%
 }
}

.send-btn input {
 width: 100%;
 border: 1px solid #fff;
 font-weight: 700;
 padding: 2vh;
 min-width: 200px;
 text-align: center;
 display: inline-block;
 background: rgba(0, 0, 0, 0);
 color: #fff;
 cursor: pointer
}

.send-btn input:hover {
 color: #000;
 background: #fff
}

.send-btn button {
 width: 100%;
 border: 1px solid #fff;
 font-weight: 700;
 padding: 2vh;
 min-width: 200px;
 text-align: center;
 display: inline-block;
 background: rgba(0, 0, 0, 0);
 color: #fff;
 cursor: pointer;
 margin-top: 2em;
}

.send-btn button:hover {
 color: #000;
 background: #fff
}


@media (max-aspect-ratio: 5 / 3) {
 .left-navi {
  width: 300px
 }

 .left-navi h2.navi-title {
  margin: auto 0 20px
 }

 .left-navi .list li a {
  font-size: 1.6rem
 }

 .right-content {
  width: calc(100% - 300px)
 }
}

.test_num {
 position: fixed;
 z-index: 1000000;
 background: #fff;
 width: 50px;
 height: 70px
}

/* @media screen and (max-width: 1024px) {
    .content-inner {
        width:90%
    }
} */
@media screen and (max-width: 480px) {
 .privacy .privacy_image {
  border: none;
  margin: 20px 0 0;
  padding: 0px;
 }

 .privacy .privacy_image img {
  width: 100%;
  max-width: 100%;
  height: auto;
 }
}

@media screen and (max-width: 768px) {


 /* .l-header {
} */

 .l-header {
  background: #fff;
  position: fixed;
  z-index: 100;
  width: auto;
  right: 55px;
  left: auto;
  height: 55px;
  top: 3vh;
  padding: 0 0%;
  display: flex;
  justify-content: space-between;
  align-items: center;
 }

 .thanx .l-header {
  right: 0px;
 }

 .l-header .l-title {
  width: 100%
 }

 .l-header .l-title a {
  padding: 10px 10px;
  height: 100%;
  display: block
 }

 .l-header .l-title a h1 {
  height: 100%
 }

 .l-header .l-title a img {
  width: 100px;
  height: auto;
  display: block
 }

 .l-header .info-menu {
  display: none
 }

 .l-menu {
  margin-top: 0;
 }

 .l-menu .inner {
  display: flex;
  box-shadow: none;
  flex-direction: column;
  width: 50%;
  opacity: 0;
  transition: .3s all ease .3s
 }

 .l-menu .inner>li {
  width: 100%;
  border-left: 0
 }

 .l-menu .inner>li:last-child {
  border-right: 0
 }

 .l-menu .inner>li .l-category_menu {
  opacity: 1;
  height: auto;
  position: relative;
  top: 0;
  left: 0;
  padding-top: 0;
  width: 100%
 }

 .l-menu .inner>li .l-category_menu li {
  background: #fff
 }

 .l-menu .inner>li .l-category_menu li+li {
  border-top: 1px solid #000
 }

 .l-menu .inner>li .l-category_menu li>a {
  color: #000;
  padding-left: 3px;
  padding-right: 3px
 }

 .l-menu .inner>li .l-category_menu li>a:hover {
  color: #000;
  opacity: .6;
  transition: all 0s ease-in-out 0s
 }

 .l-menu .inner>li .l-category_menu li:hover {
  background: 0 0
 }

 .l-menu .inner>li::before {
  content: none
 }

 .l-menu .inner>li:hover {
  background: 0 0
 }

 .l-menu .inner>li:hover .l-category_menu {
  transition: .2s all ease .5s;
  opacity: 1;
  height: auto
 }

 .l-menu .inner>li:hover .l-category_menu li {
  background: #fff
 }

 .l-menu .inner>li:hover .l-category_menu li a:hover {
  opacity: .7;
  color: #000
 }

 .l-menu .inner>li:hover .l-category_menu li:hover {
  background: 0 0
 }

 .l-menu .inner>li>a {
  color: #fff;
  background: #1978a2;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000
 }

 .l-menu .inner>li>a:hover {
  opacity: .7
 }

 .l-menu .inner>li.pink>a {
  background: #b36488
 }

 .l-menu .inner>li.pink:hover {
  background: 0 0
 }

 .l-menu .inner>li.pink:hover .l-category_menu li:hover {
  opacity: .7;
  background: 0 0
 }

 .l-menu .inner>li.orange>a {
  background: #c28941
 }

 .l-menu .inner>li.orange:hover {
  background: 0 0
 }

 .l-menu .inner>li.orange:hover .l-category_menu li:hover {
  opacity: .7;
  background: 0 0
 }

 .l-menu .inner>li.sns-menu {
  background: #000;
  padding: 10px 10px 100px
 }

 .l-menu .inner>li.sns-menu>ul {
  display: flex;
  justify-content: center
 }

 .l-menu .inner>li.sns-menu>ul li {
  width: 50px
 }

 .l-menu .inner>li.sns-menu>ul li a {
  width: 100%
 }

 .l-menu .inner>li.sns-menu>ul li a:hover {
  opacity: .7
 }

 .l-menu .inner>li.sns-menu>ul li a img {
  width: 100%;
  height: auto
 }

 .l-menu .inner>li.sns-menu>ul li+li {
  margin-left: 20px
 }

 .l-menu .inner>li.info-menu_res {
  border-top: 1px solid #000
 }

 .l-menu .inner>li.info-menu_res>ul {
  display: flex
 }

 .l-menu .inner>li.info-menu_res>ul li {
  width: 50%
 }

 .l-menu .inner>li.info-menu_res>ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  color: #fff;
  background: #000
 }

 .l-menu .inner>li.info-menu_res>ul li a:hover {
  opacity: .7
 }

 .l-menu .inner>li.info-menu_res>ul li:first-of-type a {
  background: #898989
 }

 .l-menu {
  height: auto;
  overflow: scroll;
  display: none;
  position: fixed;
  top: calc(3vh + 55px);
  left: auto;
  right: 0;
  width: 175px;
  background: #fff
 }

 .l-menu .category-list {
  flex-direction: column;
  padding: 3vh 0 0 4vw
 }

 .l-menu .category-list li {
  margin-bottom: 20px;
  margin-left: 0
 }


 .l-menu .inner {
  opacity: 1
 }

 .l-menu .inner:before {
  opacity: 1
 }

 .l-menu .inner li {
  opacity: 1
 }

 .l-menu-trigger__box {
  background: #000;
  width: 55px;
  height: 55px;
  position: fixed;
  top: 3vh;
  right: 0;
  z-index: 1000
 }

 .l-menu-trigger {
  position: relative;
  width: 31px;
  height: 23px;
  margin-top: 16px;
  margin-left: 14px;
  cursor: pointer
 }

 .l-menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff
 }

 .l-menu-trigger span:nth-of-type(1) {
  top: 0;
  -webkit-animation: btn07-bar01 .75s forwards;
  animation: btn07-bar01 .75s forwards
 }

 .l-menu-trigger span:nth-of-type(2) {
  top: 11px;
  transition: all .25s .25s;
  opacity: 1
 }

 .l-menu-trigger span:nth-of-type(3) {
  bottom: 0;
  -webkit-animation: btn07-bar03 .75s forwards;
  animation: btn07-bar03 .75s forwards
 }

 .l-menu-trigger__box.is-show .l-menu-trigger span:nth-of-type(1) {
  -webkit-animation: active-btn07-bar01 .75s forwards;
  animation: active-btn07-bar01 .75s forwards
 }

 .l-menu-trigger__box.is-show .l-menu-trigger span:nth-of-type(2) {
  opacity: 0
 }

 .l-menu-trigger__box.is-show .l-menu-trigger span:nth-of-type(3) {
  -webkit-animation: active-btn07-bar03 .75s forwards;
  animation: active-btn07-bar03 .75s forwards
 }

 .l-menu-trigger,
 .l-menu-trigger span {
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box
 }

 @keyframes btn07-bar01 {
  0% {
   transform: translateY(11px) rotate(45deg)
  }

  50% {
   transform: translateY(11px) rotate(0)
  }

  100% {
   transform: translateY(0) rotate(0)
  }
 }

 @keyframes btn07-bar03 {
  0% {
   transform: translateY(-11px) rotate(-45deg)
  }

  50% {
   transform: translateY(-11px) rotate(0)
  }

  100% {
   transform: translateY(0) rotate(0)
  }
 }

 @keyframes active-btn07-bar01 {
  0% {
   transform: translateY(0) rotate(0)
  }

  50% {
   transform: translateY(11px) rotate(0)
  }

  100% {
   transform: translateY(11px) rotate(45deg)
  }
 }

 @keyframes active-btn07-bar03 {
  0% {
   transform: translateY(0) rotate(0)
  }

  50% {
   transform: translateY(-11px) rotate(0)
  }

  100% {
   transform: translateY(-11px) rotate(-45deg)
  }
 }

 a.page-top-link {
  width: 50px;
  margin: 20px calc(50% - 25px) 50px;
  display: inline-block
 }

 a.page-top-link img {
  width: 100%
 }

 .l-footer {
  background: #000;
  height: 10px
 }

 .l-footer .inner {
  display: none
 }

 .content-wrap {
  height: 100%
 }

 .content-inner {
  padding: 3% 7%
 }

 .section-inner {
  padding: 0 8vw
 }

 .left-navi {
  width: 45%;
  border-right: none;
  position: absolute;
  top: 2vh;
  left: 3vw;
  height: auto
 }

 .left-navi h2.navi-title {
  font-size: 16px;
  margin: 0 0 2vh;
  padding: 0 0em;
 }

 .left-navi .list li {
  margin-bottom: 8px;
  font-size: 1.2rem;
  letter-spacing: 0
 }

 .left-navi .list li span {
  font-weight: 700;
  padding: 0 0.4em;
  transition: .3s;
 }


 .left-navi .list li.current span {
  background: #fff;
  color: #000;
 }

 .right-content {
  width: 100%;
  color: #fff;
  overflow: hidden;
  overflow-y: auto;
  padding: 0 8vw;
  height: 75vh;
  margin-top: min(37vh, 160px);
  scroll-snap-type: y proximity
 }

 /* #business .right-content {
        width: 100%;
        color: #fff;
        overflow: hidden;
        overflow-y: auto;
        padding: 0 8vw;
        height: 75vh;
        margin-top:min(27vh,120px);
        scroll-snap-type:y proximity
    } */


 .right-content .right-content-inner {
  height: auto;
  align-items: flex-start;
  scroll-snap-align: start
 }

 .right-content .right-content-inner.vision {
  height: auto;
  align-items: flex-start;
  scroll-snap-align: auto;
 }

 .video-wrap {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1
 }

 .video-wrap video {
  width: auto;
  min-width: inherit;
  height: 100vh;
  min-height: 100vh;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
 }

 .video-wrap::before {
  content: '';
  background: rgba(0, 0, 0, .8);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1
 }

 .top .video-wrap::before {
  display: none
 }

 .l-mainvisual .page-title h2 .jp {
  font-size: 2.2rem
 }

 .index-section {
  width: 70%;
  margin: 0 auto
 }

 .index-btn .title {
  font-size: 1.8rem;
  padding: 0 15px
 }

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

 .cms_footer .cms_prev {
  display: none
 }

 .cms_footer .cms_next {
  display: none
 }

 .cms_footer .mobile_prev {
  display: block
 }

 .cms_footer .mobile_next {
  display: block
 }

 .news .section-inner {
  padding: 0 2vw 0 15vw
 }

 .news .section-inner .left-navi {
  width: 20%
 }

 .news .section-inner .left-navi .list li {
  margin-bottom: .5vh
 }

 .news .section-inner .left-navi .list li a {
  font-size: 1.2rem;
  color: #fff
 }

 .news .section-inner .right-content {
  width: 100%;
  padding: 0;
  height: 88vh;
  margin-top: 12vh
 }

 .news-inner {
  margin-bottom: 10vh
 }

 .news-inner .news-list {
  width: 90%;
  margin: 4vh auto 0
 }

 .news-inner .news-list>li {
  padding: 3vh 3vw;
  flex-direction: column
 }

 .news-inner .news-list>li .day {
  width: 100%;
  font-size: 1.3rem;
  margin-bottom: 1em
 }

 .news-inner .news-list>li .news-post {
  width: 100%
 }

 .news-inner .news-list>li .news-post h5.title {
  font-size: 1.6rem;
  margin-bottom: 1em
 }

 .news-inner .news-list>li .news-post p {
  margin-bottom: 2vh;
  font-size: 1.4rem;
  line-height: 1.8em;
  width: 100%
 }

 .news-inner .news-list>li .news-post p:last-child {
  margin-bottom: 0
 }

 .news-inner .news-list>li .news-post a {
  color: #fff;
  border-bottom: 1px solid #fff
 }

 .news-inner .news-list>li .news-post ol li {
  width: calc(100% - 1.5em);
  margin-left: 1.5em;
  list-style-type: decimal
 }

 .top .news-inner .news-list {
  margin-top: 4vh
 }



 .privacy-wrap {
  padding: 5%;
  background: #fff
 }

 .privacy-wrap .title {
  font-weight: 700;
  font-size: 1.2rem
 }

 .privacy .title:not(:first-child) {
  padding-top: 10px;
 }

 .privacy-wrap p,
 .privacy-wrap ul {
  font-size: 1.2rem;
  margin-bottom: 1em;
  padding-left: 3.8em
 }

 .privacy-wrap .prybacy_tbl {
  width: 100%;
  border: 1px solid #000;
  margin-top: 10px;
  font-size: 1.2rem
 }

 .privacy-wrap .prybacy_tbl td,
 .privacy-wrap .prybacy_tbl th {
  padding: 5px
 }



 .mw_wp_form {
  text-align: center;
  height: auto
 }

 .mw_wp_form a.top-btn {
  width: 200px;
  color: #fff;
  border: 1px solid #fff;
  margin: 3vh auto 0;
  padding: 10px
 }

 .form_box ul li:nth-child(odd) {
  width: 100%
 }

 .form_box ul li:nth-child(even) {
  width: 100%
 }

 .archive-list li {
  opacity: 1;
  transform: translateY(0) translateX(0);
  -webkit-transform: translateY(0) translateX(0);
  background: rgba(255, 255, 255, .4);
  border-top: 1px solid #000
 }

 .archive-list li:last-child {
  border-bottom: 1px solid #000
 }

 .archive-list li a {
  display: flex;
  align-items: center;
  padding: 10px;
  flex-wrap: wrap
 }

 .archive-list li a .date {
  width: auto;
  display: inline
 }

 .archive-list li a dl {
  padding-left: 0
 }

 .archive-list li a dl dt {
  color: #1978a2;
  font-size: 1.4rem;
  margin-bottom: 5px;
  font-weight: 700
 }

 .archive-list li a dl dd {
  font-size: 1.2rem
 }

 .archive-list li a .newmark {
  position: relative;
  background: #1978a2;
  color: #fff;
  display: inline;
  margin-right: 10px;
  padding: 3px 10px;
  text-align: center;
  left: auto;
  top: auto;
  transform: translateY(0);
  -webkit-transform: translateY(0)
 }

 .cms_archive_wrap {
  margin-bottom: 80px
 }

 .cms_archive_wrap .modaal-gallery-control {
  margin-bottom: -60px
 }

 .cms_archive_wrap .photo_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
 }

 .cms_archive_wrap .photo_list li {
  width: 100%;
  border: none
 }

 .cms_archive_wrap .photo_list li a .photo_bg {
  height: 55vw
 }

 .cms_archive_wrap .photo_list li a p.photo_cap {
  font-size: 1.3rem;
  padding: 1em .8em 2em
 }

 .cms.archive.photo_g .modaal-gallery-label {
  display: block
 }

 .cms.archive.photo_g .modaal-gallery-control {
  position: fixed
 }

 .cms.archive.photo_g .modaal-gallery-control.modaal-gallery-next-inner {
  top: 75%;
  margin: 0
 }

 .cms.archive.photo_g .modaal-gallery-control.modaal-gallery-prev-inner {
  top: 75%;
  margin: 0
 }
}

/*
@media (orientation: landscape) and(max-width: 767px) {
    .l-header {
        height: 55px;
        background:#fff
    }

    .l-header .l-title .main-logo {
        display: flex;
        height:100%
    }

    .l-header .l-title .main-logo a {
        display:inline-flex
    }

    .l-header .l-title .main-logo a h1 {
        height: 100%;
        display: flex;
        align-items:center
    }

    .l-header .l-title .main-logo a h1 img {
        width: calc(50% - 80px);
        height: auto
    }
} */

@media screen and (min-width: 769px) {
 .pc_none {
  display: none;
 }
}

@media screen and (max-width: 768px) {

 .sp_none {
  display: none;
 }
}

/* サンクスページ */

.p-thanx-text {
 text-align: center;
 position: absolute;
 top: 40%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
 width: 100%;
 color: #fff;
}

@media screen and (max-width: 768px) {
 .p-thanx-text {
  top: 50%;
  padding: 0 20px;
 }
}

.p-thanx-text h2 {
 text-align: center;
 font-size: 20px;
 font-weight: 700;
}

.p-thanx-text p {
 padding-top: 20px;
 text-align: center;
}

@media screen and (max-width: 768px) {
 .p-thanx-text p {
  text-align: left;
 }
}

.c-back-btn a {
 color: #fff;
 font-weight: 700;
 border: solid 1px #fff;
 width: 240px;
 height: 50px;
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 30px auto 0;
 transition: .3s;

}

@media screen and (min-width: 769px) {
 .c-back-btn a:hover {
  background: #fff;
  opacity: 1;
  color: #000;
 }
}

table.conform {
 max-width: 700px;
 width: 100%;
 margin: 0 auto;

}

table.conform tr {
 border-bottom: 1px solid #f5f5f5;
}

table.conform td {
 padding: 20px 0;
}

table.conform tr td:first-child {
 width: 30%;

}

@media screen and (max-width: 768px) {

 table.conform td {
  display: block;
  padding: 0 0;
 }

 table.conform tr td:first-child {
  width: 100%;
  padding: 10px 0 5px;
  text-align: left;
  font-weight: bold;
 }

 table.conform tr td:last-child {
  padding-bottom: 10px;
  text-align: left;
 }

}

h3 {
 display: inline-block;
 font-size: 3.4vh;
 font-weight: bold;
 border-bottom: solid 2px #fff;
 margin: 0 0 2vh;
 line-height: 1.4;
}

@media screen and (max-width: 768px) {
 h3 {
  border-bottom: none;
 }
}

.mt_2vh {
 margin-top: 2vh;
}

.mt_4vh {
 margin-top: 4vh;
}
a {
  color: #FFFFFF; /* リンクの文字を白色に設定 */
  text-decoration: underline; /* 下線を表示 */
}