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

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

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

body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

[tabindex="-1"]:focus {
    outline: 0 !important;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: 0.5rem;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

abbr[title],
abbr[data-original-title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit;
}

ol,
ul,
dl {
    list-style:none;
    padding:0;
    margin:0;
}

dt {
    font-weight: 700;
}

dd {
    margin-bottom: 0.5rem;
    margin-left: 0;
}

blockquote {
    margin: 0 0 1rem;
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 80%;
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

a {
    color: #6096c4;
    text-decoration: none;
}
a:hover {
    opacity: 0.8;
}

a:not([href]):not([tabindex]) {
    color: inherit;
    text-decoration: none;
}

a:not([href]):not([tabindex]):hover,
a:not([href]):not([tabindex]):focus {
    color: inherit;
    text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
    outline: 0;
}

pre,
code,
kbd,
samp {
    font-size: 1em;
}

pre {
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
}

figure {
    margin: 0;
    padding: 0;
}

img {
    vertical-align: middle;
    border-style: none;
}

svg {
    overflow: hidden;
    vertical-align: middle;
}

table {
    border-collapse: collapse;
}

caption {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    color: #6c757d;
    text-align: left;
    caption-side: bottom;
}

th {
    text-align: inherit;
}

label {
    display: inline-block;
    margin-bottom: 0.5rem;
}

button {
    border-radius: 0;
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

select {
    word-wrap: normal;
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button;
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
    cursor: pointer;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

input[type=radio],
input[type=checkbox] {
    box-sizing: border-box;
    padding: 0;
}

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
    -webkit-appearance: listbox;
}

textarea {
    overflow: auto;
    resize: vertical;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
    line-height: inherit;
    color: inherit;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto;
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: none;
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

output {
    display: inline-block;
}

summary {
    display: list-item;
    cursor: pointer;
}

template {
    display: none;
}

[hidden] {
    display: none !important;
}


/* Base Setting
---------------------------------------- */
html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-family: YuMincho, 游明朝, Times New Roman, Hiragino Mincho ProN, HGS明朝B, ＭＳ Ｐ明朝, serif;
    overflow-wrap: break-word;
    font-weight: 400;
    color: #1A1A1A;
    overflow-x: hidden;
    line-height: 2;
    position: relative;
    width: 100%;
}

a {
    transition: all 0.3s;
    color: #1A1A1A;
    outline: none !important;
}
a:hover {
    opacity: 1;
    color: #1B1464;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    color: #1A1A1A;
}

h1 {
    font-size: 2.25rem;
    line-height: 1.3;
}
@media (min-width: 48em) {
    h1 {
        font-size: 2.875rem;
    }
}

h2 {
    font-size: 2.5rem;
    line-height: 1.15;
}
@media (min-width: 48em) {
    h2 {
        font-size: 3.5rem;
    }
}

h3 {
    font-size: 2.125rem;
    line-height: 1.16;
}
@media (min-width: 48em) {
    h3 {
        font-size: 2.5rem;
    }
}

h4 {
    font-size: 1.75rem;
    line-height: 1.16;
}
@media (min-width: 48em) {
    h4 {
        font-size: 2.25rem;
    }
}

h5 {
    font-size: 1.25rem;
    line-height: 1.2;
}
@media (min-width: 48em) {
    h5 {
        font-size: 1.5rem;
    }
}

h6 {
    font-size: 1.125rem;
    line-height: 1.3;
}
@media (min-width: 48em) {
    h6 {
        font-size: 1.25rem;
    }
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

a {
    transition: opacity 0.3s;
}
a:hover {
    opacity: 0.7;
}
.center{text-align:center;}
.container-fluid, .container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    position: relative;
}
.container.w1000{
    max-width:1000px;
}
.container_full {
    padding: 0 20px;
}
/* .header {
    padding: 30px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 9999999;
}
.header.sticky{
    background:#f5f5f5;
}
.header__logo {
    width: 20%;
}
.header__navigation {
    width: 80%;
}
.header__navigation > ul {
    padding: 0;
    display: flex;
    justify-content: flex-end;
    margin: 0 115px 0 0;
    list-style: none;
}
.header__navigation ul li.has_child{
    position:relative;
}
.header__navigation > ul > li{
    margin-left:35px;
}
.header__navigation ul li a{
    font-size:15px;
    text-transform: uppercase;
}
.header__navigation ul li.has_child ul{
    display:flex;
    flex-direction: column;
    position:absolute;
    top: 20px;
    left: 15px;
    list-style: none;
    padding: 10px 0;
    width:220px;	
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s cubic-bezier(.47,0,.745,.715),visibility 1s cubic-bezier(.47,0,.745,.715);
}
.header__navigation ul li.has_child ul.hover {    
    opacity: 1;
    visibility: visible;
}
.header__navigation ul li.has_child ul li a{
    font-size:14px;
    text-transform: capitalize;
} */
/*　ハンバーガーボタン　*/
/* .overlay{
    display:none;
}
body.menu_open .overlay{
    display:block;
    position:fixed;
    z-index:99;
    width:100vw;
    height:100vh;
    top:0;
    left:0;	
    background:rgba(0,0,0,0.5);
}
.hamburger {
    display : block;
    position: fixed;
    z-index : 9999;
    right : 20px;
    top   : 35px;
    width : 32px;
    height: 32px;
    cursor: pointer;
    text-align: center;
}
.hamburger span {
    display : block;
    position: absolute;
    width   : 32px;
    height  : 1px ;
    left    : 0px;
    background : #555;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition   : 0.3s ease-in-out;
    transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
    top: 0px;
}
.hamburger span:nth-child(2) {
    top: 13px;
}
.hamburger span:nth-child(3) {
    top: 30px;
    display:none;
} */

/* ナビ開いてる時のボタン */
/* .hamburger.active span:nth-child(1) {
    top : 16px;
    left: 0px;
    -webkit-transform: rotate(-45deg);
    -moz-transform   : rotate(-45deg);
    transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
    top: 16px;
    -webkit-transform: rotate(45deg);
    -moz-transform   : rotate(45deg);
    transform        : rotate(45deg);
}

nav.globalMenuSp {
    position: fixed;
    z-index : 9998;
    top  : 0;
    right  : 0;
    color: #1A1A1A;
    background: #fff;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 375px;
    padding: 35px 15px;
    height: 100vh;
    overflow-y: scroll;
}
.sp_menu{
    margin: 0 auto;
    padding: 0;
    width: 80%;	
}
nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
}
nav.globalMenuSp ul.main_menu {
    margin-top:65px;
    margin-bottom:25px;
}

nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0 0 35px;
    width: 100%;
}
nav.globalMenuSp ul li ul {
    margin-left:30px;	
    margin-top: 10px;
}
nav.globalMenuSp ul li ul li {
    padding: 0 0 10px;
}
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
nav.globalMenuSp ul li a {
    display: block;
    color: #1A1A1A;
    text-decoration :none;
    font-size:15px;
}
nav.globalMenuSp ul.socials {
    display: flex;
    justify-content: flex-end;
    border-top: 1px solid #1A1A1A;
    padding-top: 20px;
}
nav.globalMenuSp ul.socials li {
    padding:0;
    width:33px;
    margin-left:20px;
} */
/* このクラスを、jQueryで付与・削除する */
/* nav.globalMenuSp.active {
    transform: translateY(0%);
} */
/* #top_banner {
    position: relative; */
    /* height: 100vh;
    height: -webkit-fill-available; */
    /* width: 100%;
    overflow: hidden;
    margin: 0;
    z-index: 3;
} */
/* #top_banner:after{
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    background:rgba(0,0,0,0.1);
}
#top_banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#top_banner h1 {
    color: #fff;
    font-size: 40px;
    position: absolute;
    bottom: 200px;
    text-align: center;
    width: 100%;
    margin: 0;
    font-weight: 400;
    z-index:11;
    opacity: 0;
}
#top_banner .-ready h1 {
    opacity: 1;
    transition: opacity 1s cubic-bezier(.47, 0, .745, .715) .75s;
}
#top_banner > .scroll {
    position: absolute;
    left: calc(50% - 30px);
    bottom: -70px;
    z-index: 9;
    display: flex;
    align-items: center;
    flex-direction: column;
    color: #fff;
    font-size: 16px;
}

#top_banner > .scroll span {
    margin-bottom: 15px;
}
#top_banner span.line {
    height: 85px;
    position: relative;
}
#top_banner span.line::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0px;
    animation: MoveUpDown 2s linear infinite;
    width: 2px;
    background: #fff;

}
@keyframes MoveUpDown {
    0% {
        height: 0px;
    }
    50% {
        height: 85px;
    }
    100% {
        top: auto;
        bottom: 0;
        height: 0px;
    }
}
#loading {
    position: fixed;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    z-index: 99999999;
    top: 0;
    left: 0;
    font-size: 50px;
}
@media (max-width:1200px){
    #loading {
        font-size: 30px;
    }
}
@media (max-width:1024px){
    #loading {
        font-size: 22px;
    }
}
.loađing_text{opacity:0;}
.loading .loađing_text {
    opacity: 1;
    transition: opacity 1s cubic-bezier(.47, 0, .745, .715) .2s;
}
.loaded #loading {
    opacity: 0;
    transition: opacity 1s cubic-bezier(.47, 0, .745, .715) .75s;
} */

h2.title_with_bg{	
    text-align:center;
    max-width: 467px;
    margin: 0 auto 90px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    position: relative;
    padding: 0 15px;
}
#main_top h2.title_with_bg{opacity:0;}
.on #main_top h2.title_with_bg {
  opacity: 1;
  transition: opacity 1s cubic-bezier(.47, 0, .745, .715) .2s;
} 
h2.title_with_bg span {
    position: absolute;
    top: 25px;
    font-size:33px;
    font-weight:300;
}
h2.title{
    font-size:24px;
    font-weight:300;
    text-align:center;	
    margin-bottom: 15px;
}
.box--title{
    margin-bottom: 35px;
}
h2.title1{
    margin: 0 0 10px;
    line-height: 1;
    display: flex;
    text-transform: uppercase;
}
h2.title1 span{
    font-size:26px;	
    font-weight:300;
    background-size: 30px 5px;
    padding-right:20px;
    position:relative;
}
h2.title1.small span{
    font-size:18px;	
}
h2.title1 span:after{
    content:'';
    width:75px;
    height:1px;
    background:#1A1A1A;
    position:absolute;
    right:-75px;
    top:15px;
}
h2.title1.small span:after{
    width:40px;
    right:-40px;
    top: 10px;
}
h3.title{
    margin: 0 0 40px;
    line-height: 1;
    font-size:20px;
    font-weight:300;
    text-align:center;
}

h3.title_with_bg{
    margin: 0 0 10px;
    line-height: 1;
    display: flex;
    font-size:20px;
    font-weight: 300;
}
h3.title_with_bg span{
    font-size:14px;	
    background:url(../images/btn_arrow.png) no-repeat center right;
    background-size: 30px 5px;
    padding-right:40px;
}
h3.title1{
    line-height: 1;
    margin-bottom: 30px;
    padding-bottom: 10px;
    font-size:20px;
    position:relative;
}
h3.title1 span{
    font-size:20px;
    padding-bottom:10px;
    padding-right:20px;
    /* border-bottom:1px solid  #1A1A1A; */	
}
h3.title1::after  {
    position: absolute;
    bottom: 0;
    left: 0;
    max-width: 100%;
    height: 1px;
    content: "";
    background-color: #1A1A1A;
    width:0;
}	
.on h3.title1::after {
    width: 100%;
    transition: width 1.6s cubic-bezier(.075,.82,.165,1);
    transition-delay: .3s;
}
a.btn_more {
    width: 232px;
    height: 54px;
    border: 1px solid #1B1464;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    text-transform: uppercase;
    border-radius: 30px;
    margin: 0 auto;
    position: relative;
    background: #fff;
}
#contact a.btn_more {
    text-transform: capitalize;
}	
a.btn_more:after {
    content:'';
    width:30px;
    height:5px;
    background:url(../images/btn_arrow.png) no-repeat;
    background-size:100%;
    position:absolute;
    top:calc(50% - 2px);
    right:-20px;
    transition: all .5s ease-out;
}
a.btn_more:hover:after {
    right: -10px;
}
/* #main_top {
    margin: 150px 0 60px;
}
.visual-particle{position:relative;}
#particles-js{position:relative;height: 900px;margin: 0 60px;}
.particles{position:absolute;left:0;top:0;width:100%;height:100%;}
.banner_img{position:absolute;top:0;left:0;width: 100%;height: 100%;}
.image_list {
    display: flex;
    align-items: flex-end;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 780px;
}
@media (max-width:1600px){	
    .image_list {max-height: 700px;}
}
@media (max-width:1500px){
    .image_list {max-height: 600px;}
}
@media (max-width:1300px){

    .image_list {max-height: 550px;}
}
@media (max-width:1100px){
    #particles-js{height: 600px;margin: 0 15px;}
    .image_list {max-height: 480px;}
}
@media (max-width:1024px){
    .image_list {max-height: 400px;}
}
@media (max-width:767px){
    #particles-js{height: 500px;}
}

.img1{width:35%;}
.img2{width:30%;height: 100%;padding:0 10% 0 20px;}
.img3{width:35%;height: 100%;padding-top: 15%;}
@media (max-width:992px){
    .image_list {max-height: unset;
                 flex-wrap: wrap;
                 height: auto;
                 align-items: flex-start;}
    .img1{width:60%;padding-top:60px}
    .img2{width:40%;padding:0 0 0 10px;}
    .img3{width:100%;padding: 20px 0 0 35%;}
}
.m-mv__fig__inner {
    transform: unset !Important;
}
#color_your_life a.btn_more{
    margin-top: -40px;
}
#color_your_life{
    margin:60px;
}
#color_your_life .title_with_bg{
    display: flex;
    flex-direction: column;
    align-items: center;
}
#color_your_life .title_with_bg .about__bg-typo {
    display: flex;
    gap: 20px;  
    font-size: 60px;
    letter-spacing: -15px;
}
#color_your_life .title_with_bg .about__bg-typo span {
    position: unset;
    font-size: 60px;
    font-weight: 300;
    color: #F2F2EE;
}
.about__bg-typo span {
    opacity: 0;
    -webkit-transform: matrix(1, 0, 0, 1, 40, 0);
    transform: matrix(1, 0, 0, 1, 40, 0);
}
.on .about__bg-typo span {
    opacity: 1;
    -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
    transform: matrix(1, 0, 0, 1, 0, 0)
} */

/* .on .about__bg-typo span:nth-child(1) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) 0s
}

.on .about__bg-typo span:nth-child(2) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .05s
}

.on .about__bg-typo span:nth-child(3) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .1s
}

.on .about__bg-typo span:nth-child(4) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .15s
}

.on .about__bg-typo span:nth-child(5) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .2s
}

.on .about__bg-typo span:nth-child(6) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .25s
}

.on .about__bg-typo span:nth-child(7) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .3s;
    margin-right: 10px;
}

.on .about__bg-typo span:nth-child(8) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .35s
}

.on .about__bg-typo span:nth-child(9) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .4s
}

.on .about__bg-typo span:nth-child(10) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .45s
}

.on .about__bg-typo span:nth-child(11) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .5s
}

.on .about__bg-typo span:nth-child(12) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .55s
}

.on .about__bg-typo span:nth-child(13) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .6s
}

.on .about__bg-typo span:nth-child(14) {
    transition: all 1s cubic-bezier(.445, .05, .55, .95) .65s
} */
/* #color_your_life h2.title_with_bg span {
    top: 40px;
}
#color_your_life .des{
    text-align:center;
    font-size:18px;
    margin-bottom:80px;
}
#life_stage {
    margin-top: 100px;
}
#life_stage .container{
    max-width:1000px;
}
div.stage{
    margin: 20px 0 80px;
    display: flex;
    flex-direction: column;
}
div.stage:nth-child(2n) {
    align-items: end;
}
div.stage:last-child{
    margin-bottom:0;
}
div.colorbox{
    position: relative;
    width: 76%;
    margin: 0 0 30px;
}
div.colorbox:after{
    content:'';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background-color: #F2F2EE;
    transition:all 1s;
}
.on div.colorbox:after{
    width:0;
}
div.colorbox img{
    display: block;
    width: 100%;
}
.stage_content{
    width: 76%;
    padding: 0 30px;
}

#life_stage h4{
    font-size:24px;
    margin:0 0 10px;
    font-weight: 300;
}
#life_stage h5{
    font-size:18px;
    margin:0 0 15px;
    font-weight: 300;
}
#restaurant_news {
    margin-top: 60px;
}
#services{
    margin-top:100px;
}
#services .container{
    max-width:1000px;
}
ul.col {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
ul.col.services {
    justify-content: space-between;
}
ul.col li{
    margin-bottom:20px;
}
ul.col.col21 li{
    width:calc(33.333% - 10px);
}
ul.col.col21 li.col2{
    width:calc(66.6666% - 10px);
}
ul.col.col3 li{
    width:calc(33.333% - 14px);
    overflow: hidden;
}
ul.col.services li:first-child{
    width:calc(66.6666% - 10px);
}

ul.col.services li{
    width:calc(33.333% - 14px);
    overflow: hidden;
    max-height: 310px;
    margin-bottom: 5px;
}

.services_list {
    background: #F3F2EF;
    padding: 40px 0 0;
    margin-top: 30px;
}
.services_list .container{
    padding-left:50px;
}

.services_list p{
    font-size:18px;
}
ul.services_menu{
    display:flex;
    margin-top: 30px;
} */
/* ul.services_menu li{
    width:20%;
    background:#fff; */
    /*border:1px solid #E4E4E4;*/
    /* border-left:0;

} */
/* ul.services_menu li a{
    padding: 15px;
    width:100%;
    display: flex;
    align-content: center;
    justify-content: center;	
    text-align: center;
}
ul.services_menu li a.active{
    border: 2px solid #1B1464;
}
ul.services_menu li:nth-child(1) a.active{
    border: 2px solid #1B1464;
}
ul.services_menu li:nth-child(2) a.active{
    border: 2px solid #39B44A;
}
ul.services_menu li:nth-child(3) a.active{
    border: 2px solid #FBED21;
}
ul.services_menu li:nth-child(4) a.active{
    border: 2px solid #F05A24;
}
ul.services_menu li:nth-child(5) a.active{
    border: 2px solid #1A1A1A;
}
.movie_wrap{
    position: relative;
    padding-bottom: 100%;
}
.movie_wrap iframe{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.movie_wrap video{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
@media(min-width:768px){
    .movie_wrap video {
        transform: scale(1.5, 2);
    }
} */
/* #restaurant{
    position:relative;
    background: #F3F2EF;
}
.room--restaurant{
    position:relative;
    display: none;
}
.room--restaurant.active{
    display: block;
}
#restaurant:after{
    content:'';
    position:absolute;
    top:60px;
    right:0;
    width:60%;
    height:calc(100% - 120px);
    background:#fff;
}
#restaurant .img{
    width:70%;
}
#restaurant .img img{
    width:100%;
    height: 30vw;
    min-height: 450px;
    object-fit: cover;
}

.restaurant_content{
    position:absolute;
    z-index:1;
    right:0;
    top:60px;
    width:100%;
    height:calc(100% - 120px);	
}
.restaurant_content .container{
    display: flex;
    justify-content: flex-end;
    height: 100%;
}
.restaurant_content h2.title1{
    margin-bottom: 20px;
}
.restaurant_detail{
    width:60%;
    padding:50px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.restaurant_content h2.title1 span{
    font-size:18px;	
}
.restaurant_content h2.title1 span:after{
    width:30px;
    right:-30px;
    top: 10px;
}
.restaurant_detail a.btn_more {
    visibility: visible;
    animation-name: fadeInUp;
    margin-left: auto;
    margin-right: 0;
    margin-top: 30px;
}
ul.restaurant_news_list{
    display: flex;
    gap: 20px;
    margin-bottom:40px;
}
ul.restaurant_news_list li{
    width:calc(33% - 10px);
    position: relative;
    padding-bottom: 80px;
}
ul.restaurant_news_list li img{
    margin-bottom:15px;
}
ul.restaurant_news_list li .content{
    padding:0 15px;
}
ul.restaurant_news_list li .content h3{
    font-size:20px;
    font-weight:300;
}
ul.restaurant_news_list li .content .des{
    font-size:16px;
}
ul.restaurant_news_list li a.btn_more{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}
.sccoll_news{
    margin:100px 0;
    position:relative;
}
.sccoll_news_img{
    position:absolute;
    top:15px;
    left:0;
    width:100%;
    text-align:center;
}
.marquee0, .marquee2{
    margin-bottom:30px;
}
.sccoll_news span{margin:0 10px;}
.feature_news a {
    display: flex;
    margin: 40px 0;
}
.feature_news .img{
    width:50%;
}
.feature_news .img img{
    width:100%;
}
.feature_news .content{
    width:50%;
    padding:50px 80px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.date{
    font-size:17px;
}
ul.news_list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom:40px;
}
ul.news_list li{
    width:calc(25% - 15px);
}
ul.news_list li img{
    margin-bottom:15px;
}
#restaurant_business{
    margin-bottom:0;
    margin-top: 60px;
}
#restaurant_business .w1000{
    margin-bottom:80px;
}
#restaurant_page #life_stage{
    margin-top:20px;
}
#restaurant_page .stage_content {
    padding: 0;
}

#restaurant_business a.btn_more{
    margin-top:80px;
}
#message h2.title {
    text-align: left;
}
ul.list_people {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin: 50px 0;
}
ul.list_people.cols2 {
    gap: 60px;
}
ul.list_people li{
    width:350px;
    max-width:100%;
    position:relative;
    padding-bottom:40px;
}
ul.list_people li .people{
    position:relative;
}
ul.list_people li .des{
    color:#fff;
    font-size:16px;
    position:absolute;
    bottom:80px;
    left:20px;
}
ul.list_people li:nth-child(2n) .des{
    left:auto;
    right:20px;
}
ul.list_people.cols2 li:first-child .des{
    left:20px;
    top:20px;	
}
ul.list_people.cols2 li:last-child .des{
    left:auto;
    top:auto;
    right:20px;
}
ul.list_people li a.btn_more{
    position:absolute;
    bottom:-35px;
    right:20px;
}

.more_des{
    display:none;
    padding: 60px 0 0;
}
.more_des .img {
    position: relative;
    margin-bottom: 15px;
}
.more_des .img img{
    width:100%;
}
.more_des .img p {
    position: absolute;
    right: 10px;
    bottom: 10px;
    color: #fff;
    margin: 0;
}
#company h2.title {
    text-align: left;
}
ul.company_detail{
    margin-top:30px;
    border-bottom:1px solid #CBCBCB;
}
ul.company_detail li{
    border-top:1px solid #CBCBCB;
    padding:50px 0;
    display:flex;
    justify-content:center;
    gap:25px;
}
ul.company_detail li > div{
    width:calc(50% - 25px);
}
ul.company_detail li > div.title{
    text-align:right;
}
input[type="text"], input[type="email"], input[type="password"], input[type="phone"], input[type="search"], input[type="tel"], textarea, select {
    border: 0;
    padding: 15px 24px;
    outline: none !important;
    border-radius: 3px;
    background: #F4F4F4;
    font-size: 12px;
    font-weight: 500;
    min-height: 49px;
}
.form_des{
    text-align:center;
    padding-bottom:20px;
    margin-bottom:20px;
    border-bottom:1px solid #1A1A1A;
    font-size:18px;
}
.form_row{
    width:700px;
    max-width:100%;
    display:flex;
    flex-direction:column;
    margin: 15px auto;
}
.form_row label{
    font-size:16px;
    display:flex;
    flex-direction:column;
    gap:5px;
}
.form_row label span.req	 {
    font-size: 16px;
    background: #666666;
    color: #fff;
    padding: 2px 16px;
    width: 70px;
}
.type_list{
    padding:0 40px;
    margin-bottom:80px
}
.type_list ul{
    display:flex;
    flex-wrap: wrap;
}
.type_list ul li{
    min-width: 280px;
} */
/* The container */
/* .form_row label.radio_button {
    display: block !important;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
} */

/* Hide the browser's default radio button */
/* .radio_button input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
} */

/* Create a custom radio button */
/* .checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 21px;
    width: 21px;
    border: 1px solid #4D4D4D;
    border-radius: 50%;
} */

/* On mouse-over, add a grey background color */
/* .radio_button:hover input ~ .checkmark {
    background-color: #ccc;
} */

/* When the radio button is checked, add a blue background */
/* .radio_button input:checked ~ .checkmark {
  background-color: #2196F3;
} */

/* Create the indicator (the dot/circle - hidden when not checked) */
/* .checkmark:after {
    content: "";
    position: absolute;
    display: none;
} */

/* Show the indicator (dot/circle) when checked */
/* .radio_button input:checked ~ .checkmark:after {
    display: block;
} */

/* Style the indicator (dot/circle) */
/* .radio_button .checkmark:after {
    top: 5px;
    left: 5px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #4D4D4D;
}
textarea {
    height: 155px;
}
.form-submit {
    text-align: center;
    margin-top: 70px;
}
.form-submit input[type="submit"]{
    min-width: 110px;
    font-size: 12px;
    min-height: 25px;
    padding: 2px 20px;
    background: #F4F4F4;
    color: #1A1A1A;
    font-weight: 500;
    border:0;
}
.form-submit p {
    font-size: 16px;
    margin: 30px 0 0;
}
#contact{
    background: #F3F2EF;
    padding:40px 0;
}
#contact h2.title{
    margin-bottom:30px;
}
#contact h2.title span{
    padding:0 20px 10px;
    border-bottom:1px solid #1A1A1A;
}
#bottom_content{
    padding:60px 0 10px;
}
#bottom_content .container{
    max-width: 1100px;
}
#bottom_content h3.title{
    font-size: 17px;
    margin-top: 30px;
    font-weight: 700;
    margin-bottom: 10px;
    text-align: left;
}
#bottom_content ul {
    display: flex;
    gap: 40px;
}
.ct_info {
    text-align: center;
    margin-top: 70px;
}
.ct_info .tel{
    margin-left:20px;
}
footer {
    background: #333;
    color: #fff;
    text-align: center;
    padding: 30px 0;
}
footer ul.socials {
    display: flex;
    justify-content: center;
    margin: 15px 0;
    gap: 40px;
}
footer ul.socials li a{
    color:#fff;
}
footer ul.socials li a img{
    margin-right:5px;
}
p.copyright{
    margin-bottom:0;
} */

@media screen and (min-width: 768px){
    .pcbr { display:block; }
    .spbr { display:none; }
}
@media screen and (max-width: 767px){
    .pcbr { display:none; }
    .spbr { display:block; }
}
/* .sp{display:none !important;}
@media screen and (max-width: 767px){   
    .pc{display:none !important;}
    .sp{display:block !important;}
    .header {padding: 15px 20px 20px;}
    .header__navigation{display:none;}
    .header__logo {width: 60%;}
    .hamburger {top: 25px;}
    #top_banner h1 {font-size: 26px;}
    h2.title_with_bg span {font-size: 23px;}	
    h3.title {font-size: 18px;}
    h3.title1 span {font-size: 18px;}
    .visual-particle{margin:0 20px;height: 480px;}
    .m-mv, .m-mv__fig, .m-mv__fig__outer, .m-mv__fig__inner , .js-visual-particle {height: 100%;}
    #color_your_life {margin: 60px 20px 0;}
    #color_your_life a.btn_more {margin-top: 40px;}	
    #color_your_life .title_with_bg .about__bg-typo {gap: 15px;font-size: 40px;}
    #color_your_life .title_with_bg .about__bg-typo span {font-size: 40px;}
    #life_stage {margin-top: 60px;}
    div.stage {margin: 20px 0 30px;}
    div.colorbox {width: 100%;}
    .stage_content {width: 100%;padding: 0 10px;}
    #services {margin-bottom: 0;}
    ul.services_menu {flex-wrap: wrap;}
    ul.services_menu li {width: 33.3333%;}
    ul.services_menu li:nth-child(1) {width: 50%;}
    ul.services_menu li:nth-child(2) {width: 50%;}	
    ul.services_menu li a {padding: 10px 0px;font-size: 14px;}
    ul.col{gap: 0px;}
    ul.col.col21 li{width:100%;}
    ul.col.col21 li.col2{width:100%;}
    ul.col.col3 li{width:100%;}
    ul.col.services li:first-child {width: 100%;order:0;}
    ul.col.services li:nth-child(2) {order:1;}
    ul.col.services li:nth-child(3) {order:2;}
    ul.col.services li:nth-child(4) {order:4;}
    ul.col.services li:nth-child(5) {order:3;}
    ul.col.services li {width: calc(50% - 5px);max-height: 180px;margin-bottom: 10px;}
    .movie_wrap {padding-bottom: 0;height:100%}
    .movie_wrap video {transform: scale(2);}
    #restaurant {margin-top: 0;}
    #restaurant::after {display: none;}
    #restaurant .img {width: 100%;}
    .image_list video {max-width: 100%;height: auto;}
    .restaurant_content {position: relative;top: -80px;left: 0;width: calc(100% - 30px);height: auto;background: #fff;}
    .restaurant_detail {width: 100%;padding: 30px 0px;}
    .restaurant_detail a.btn_more {margin-right: auto;}
    .sccoll_news {margin: 40px 0;}
    .feature_news a {flex-direction: column;}
    .feature_news .img {width: 100%;}
    .feature_news .content {width: 100%;padding: 20px 0;}
    ul.news_list li {width: calc(50% - 10px);}
    ul.restaurant_news_list {flex-direction: column;}
    ul.restaurant_news_list li {width: 100%;}
    ul.list_people {flex-direction: column;gap: 20px !important;}
    ul.list_people li:nth-child(2n) a.btn_more{left:0;right:auto;}
    ul.company_detail li > div.title {width: 30%;}
    ul.company_detail li > div.value {width: 70%;}
    #bottom_content .container {display: flex;flex-wrap: wrap;}
    #bottom_content .container h2.title1 {width: 100%;}
    #bottom_content .container .sitemap {width: 40%;}
    #bottom_content .container .group {width: 60%;}
    #bottom_content ul {gap: 10px;flex-direction: column;}
    .ct_info {display: flex;flex-direction: column;}
    .ct_info .tel{margin-left:0px;}
    body {font-size: 14px;line-height: 1.6;}

} */

@media (min-width: 768px){
    .hidepc{
        display: none !important;
    }
}
@media (max-width: 767px){
    main>h2.title_with_bg:first-child{
        margin: 80px auto 60px;
    }
    #top_banner .top_img img{
        height: 40vh; 
    }
    .hidesp{
        display: none !important;
    }
}
