@charset "UTF-8";

.top-concept { padding: 16vw 0; }
.top-concept-content { z-index: 1; position: relative; }
.top-concept-content:before { content: ''; width: 54vw; height: 36vw; background: url(../images/deco01.png) no-repeat top center; background-size: 100%; position: absolute; top: 2vw; right: -12vw; }
.top-concept-content:after { content: ''; width: 48vw; height: 100vw; background: url(../images/deco02.png) no-repeat top center; background-size: 100%; position: absolute; top: 132vw; left: -10vw; }
.top-concept-head { width: 80vw; margin: 0 auto 5vw; z-index: 1; position: relative; }
.top-concept-title { margin-bottom: 5vw; }
.top-concept-title .en { margin-bottom: 2.5vw; color: #292929; font-size: 11.84vw; font-family: "aw-conqueror-didot"; font-weight: 400; letter-spacing: 0.4vw; display: block; }
.top-concept-title .jp { font-size: 3.95vw; display: block; }
.top-concept-title .jp span { padding: 2vw; margin-bottom: 1.5vw; color: #fff; font-family: var(--mincho); font-weight: 600; background: var(--main); display: table; }
.top-concept-title .jp span b { letter-spacing: 0.04rem; }
.top-concept-subtitle { width: 76vw; }
.top-concept-subtitle img { width: 100%; }
.top-concept-image01 { width: 90vw; margin: 0 0 5vw auto; }
.top-concept-image01 img { width: 100%; }
.top-concept-image02 { width: 78vw; }
.top-concept-image03 { width: 50vw; margin: -15vw 0 6vw auto; z-index: 1; position: relative; }
.top-concept-text { width: 80vw; margin: 0 auto; z-index: 2; position: relative; }
.top-concept-comment { margin-bottom: 6vw; }
.top-concept-comment p { margin-bottom: 2.5vw; font-size: 3.68vw; text-align: justify; text-justify: inter-ideograph; font-feature-settings: "palt"; line-height: 1.8; letter-spacing: 0.04em; }
.top-concept-comment p b { font-family: var(--mincho); font-weight: 600; letter-spacing: 0.04rem; }
.top-concept-more { margin-left: 0; }

.top-about { padding: 16vw 0; background: url(../images/top-about-bg.jpg) no-repeat center; background-size: cover; }
.top-about-head { margin-bottom: 6.5vw; }
.top-about-title { padding-bottom: 8vw; color: #fff; text-align: center; position: relative; }
.top-about-title:after { content: ''; width: 15vw; height: 1px; background: #fff; opacity: 0.6; position: absolute; bottom: 0; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top-about-title .en { margin-bottom: 2vw; font-size: 11.84vw; font-family: "aw-conqueror-didot"; font-weight: 400; letter-spacing: 0.6vw; display: block; }
.top-about-title .jp { font-size: 3.95vw; font-family: var(--mincho); display: block; }
.top-about-text { margin-bottom: 6vw; }
.top-about-subtitle { margin-bottom: 5vw; color: #fff; font-size: 4.2vw; font-family: var(--mincho); font-weight: 600; text-align: center; line-height: 1.6; }
.top-about-comment { width: 80vw; margin: 0 auto; }
.top-about-comment p { color: #fff; font-size: 3.68vw; text-align: justify; text-justify: inter-ideograph; font-feature-settings: "palt"; line-height: 1.8; letter-spacing: 0.04em; }
.top-about-comment p:first-child { margin-bottom: 2vw; }

.top-campaign { padding: 24vw 0 16vw; z-index: 1; position: relative; }
.top-campaign:before { content: ''; width: 54vw; height: 36vw; background: url(../images/deco01.png) no-repeat top center; background-size: 100%; z-index: 2; pointer-events: none; position: absolute; top: 8vw; left: -6vw; }
.top-campaign-title,.top-voice-title,.top-blog-title{margin-bottom:5vw;color:#292929;text-align:center;z-index:3;position:relative;}
.top-campaign-title .en,.top-voice-title .en,.top-blog-title .en{margin-bottom:2vw;font-size:11.84vw;font-family:"aw-conqueror-didot";font-weight:400;letter-spacing:0.4vw;display:block;}
.top-campaign-title .jp,.top-voice-title .jp,.top-blog-title .jp{font-size:3.95vw;font-family:var(--mincho);display:block;}
.top-campaign-comment { margin-bottom: 6vw; font-size: 3.68vw; text-align: center; line-height: 1.6; }
.top-campaign-box { width: 80vw; margin: 0 auto 6vw; background: #e9e3db; z-index: 1; position: relative; }
.top-campaign-box-image { width: 100%; z-index: 1; position: relative; }
.top-campaign-box-image img { width: 100%; }
.top-campaign-box-text { padding: 5vw; z-index: 1; position: relative; }
.top-campaign-box-title { padding-bottom: 2.5vw; margin-bottom: 4vw; font-size: 4.74vw; text-align: center; line-height: 1.4; border-bottom: 1px solid #c9c2c3; }
.top-campaign-box-course { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; -webkit-align-items: center; align-items: center; }
.top-campaign-box-course .time { padding: 1.5vw 3vw; margin-bottom: 2vw; color: #fff; font-size: 3.95vw; font-family: var(--mincho); font-weight: 600; letter-spacing: 0.4vw; background: var(--main); }
.top-campaign-box-course .text { text-align: center; line-height: 1.4; }

.top-menu-deco { width: 280vw; color: #f1eee9; font-size: 35.53vw; font-family: "aw-conqueror-didot"; font-weight: 400; text-align: right; letter-spacing: 0.4vw; z-index: -1; position: absolute; top: 44vw; right: -18vw; }
.top-menu { padding: 16vw 0; z-index: 1; position: relative; }
.top-menu:before { content: ''; width: 100%; height: 65vw; background: url(../images/top-menu-bg.jpg) no-repeat top center; background-size: cover; position: absolute; top: 0; left: 0; }
.top-menu:after { content: ''; width: 50vw; height: 64vw; background: url(../images/deco03.png) no-repeat top center; background-size: 100%; pointer-events: none; position: absolute; bottom: -28vw; right: -8vw; }
.top-menu-content { width: 80vw; margin: 0 auto; z-index: 1; position: relative; }
.top-menu-title, .top-pickup-title { margin-bottom: 5vw; color: #292929; position: relative; }
.top-menu-title .en, .top-pickup-title .en { margin-bottom: 2vw; font-size: 11.84vw; font-family: "aw-conqueror-didot"; font-weight: 400; letter-spacing: 0.4vw; display: block; }
.top-menu-title .jp, .top-pickup-title .jp { font-size: 3.95vw; font-family: var(--mincho); display: block; }
.top-menu-main { width: 80vw; margin: 0 auto 8vw; }
.top-menu-main-image { width: 100%; margin-bottom: 5vw; }
.top-menu-main-text { margin-bottom: 10vw; }
.top-menu-main-title { margin-bottom: 4vw; text-align: center; }
.top-menu-main-title .en { width: 100%; padding: 2.5vw 2vw 1.5vw; margin-bottom: 5.5vw; color: #fff; font-family: var(--mincho); font-weight: 600; letter-spacing: 0.04rem; background: var(--main); display: table; }
.top-menu-main-title .jp { color: #19242a; font-size: 5.26vw; font-family: var(--mincho); font-weight: 600; line-height: 1.4; display: block; }
.top-menu-main-comment { margin-bottom: 5vw; }
.top-menu-main-comment p { font-size: 3.68vw; text-align: justify; text-justify: inter-ideograph; font-feature-settings: "palt"; line-height: 1.8; letter-spacing: 0.04em; }
.top-menu-sub-items { width: 80vw; margin: 0 auto; }
.top-menu-sub-items li { width: 100%; margin-top: -1px; border-top: 1px solid #d4d3d3; border-bottom: 1px solid #d4d3d3; }
.top-menu-sub-items a { padding: 8vw 4vw; }
.top-menu-sub-item-title { padding-right: 12vw; margin-bottom: 2.5vw; color: #19242a; font-size: 4.2vw; font-family: var(--mincho); font-weight: 600; line-height: 1.4; position: relative; }
.top-menu-sub-item-title:after { content: ''; width: 10vw; height: 10vw; background: #967c76 url(../images/arrow02.png) no-repeat center; background-size: 3.5vw; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: 50%; right: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top-menu-sub-item-comment p { font-size: 3.68vw; text-align: justify; text-justify: inter-ideograph; font-feature-settings: "palt"; line-height: 1.8; letter-spacing: 0.04em; }

.top-voice { padding: 16vw 0; background: #f2f0ec; }
.top-voice-items { width: 100%; margin: 0 auto 6vw; }
.top-voice-item { width: 80vw; padding: 8vw 6vw; margin: 0 2.5vw; background: #fff; }
.top-voice-item-badge { margin: 0 auto 1.5vw; font-size: 13.16vw; font-family: "aw-conqueror-didot"; font-weight: 400; letter-spacing: 0.4vw; position: relative; display: table; }
.top-voice-item-badge:before { content: ''; width: 18vw; height: 8vw; background: url(../images/top-voice-item-deco.png) no-repeat top center; background-size: 100%; position: absolute; top: -1vw; left: -5vw; }
.top-voice-item-title { margin-bottom: 2.5vw; color: #19242a; font-size: 5vw; font-family: var(--mincho); font-weight: 600; text-align: center; line-height: 1.4; }
.top-voice-item-comment p { font-size: 3.68vw; text-align: justify; text-justify: inter-ideograph; font-feature-settings: "palt"; line-height: 1.8; letter-spacing: 0.04em; }

.top-pickup { padding: 16vw 0 10vw; }
.top-pickup-content { width: 80vw; margin: 0 auto; }
.top-pickup-items { width: 100%; margin: 0 auto; }
.top-pickup-items li { width: 100%; margin-bottom: 6vw; position: relative; }
.top-pickup-item-image { width: 100%; margin-bottom: 4vw; }
.top-pickup-item-title { width: 100%; padding-right: 12vw; position: relative; }
.top-pickup-item-title:after { content: ''; width: 10vw; height: 10vw; background: var(--brown01) url(../images/arrow02.png) no-repeat center; background-size: 3.5vw; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: 50%; right: 0; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top-pickup-item-title .en { margin-bottom: 1vw; color: var(--brown01); font-size: 3.68vw; font-family: "aw-conqueror-didot"; font-weight: 400; letter-spacing: 0.4vw; display: block; }
.top-pickup-item-title .jp { color: #182329; font-size: 5.26vw; font-family: var(--mincho); display: block; }

.top-blog {padding: 16vw 0;background: #f2f0ec;}
.top-blog-content { width: 90vw; margin: auto; }
.top-blog-items { width: 100%; margin: auto; }
.top-blog-items li { width: 100%;margin-bottom: 10vw;}
.top-blog-items li:last-child{margin-bottom: 0;}
.top-blog-item-image { width: 100%;position: relative;margin-bottom: 4vw;overflow: hidden;padding-top: 56.25%;}
.top-blog-item-image img {position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;}
.top-blog-item-time {padding: 2vw 4vw 1.5vw;margin-bottom: 2.6vw;font-size: 3.42vw;background: #fff;display: table;font-family: "aw-conqueror-didot";font-weight: 400;letter-spacing: 0.4vw;}
.top-blog-item-title {margin-bottom: 1vw;font-size: 4.61vw;font-family: var(--mincho);line-height: 1.4;}
.top-blog-item-comment p { font-size: 3.29vw; text-align: justify; text-justify: inter-ideograph; font-feature-settings: "palt"; line-height: 1.8; letter-spacing: 0.04em;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;}

/* =============================================
    pc
================================================*/
@media screen and (min-width: 736px) {
.top-concept { padding: 140px 0 200px; }
.top-concept-content { width: 90%; max-width: 1200px; margin: 0 auto; }
.top-concept-content:before { width: 265px; height: 170px; top: 240px; right: 450px; }
.top-concept-content:after { width: 246px; height: 500px; z-index: 1; top: auto; bottom: -325px; left: -30px; }
.top-concept-head {width: 90%; margin: 0 auto 150px;}
.top-concept-title { margin-bottom: 30px; }
.top-concept-title .en { margin-bottom: 10px; font-size: 75px; letter-spacing: 4px; }
.top-concept-title .jp { font-size: 15px; }
.top-concept-title .jp span { padding: 9px 8px 6px 10px; margin: 0; }
.top-concept-subtitle { width: 444px; }
.top-concept-image01 {width: 46%;margin: 0 0 30px auto;}
.top-concept-image02 {width: 60%;position: absolute;bottom: 320px;left: -240px;}
.top-concept-image03 {width: 30%;margin: 0;z-index: 1;position: absolute;bottom: 265px;left: 120px;}
.top-concept-text { width: 50%; margin: 0 0 0 auto; }
.top-concept-comment { margin-bottom: 40px; }
.top-concept-comment p { margin-bottom: 30px; font-size: 15px; }
.top-concept-more { margin: 0 0 0 auto; }

.top-about { padding: 110px 0; background: url(../images/top-about-bg-pc.jpg) no-repeat center; background-size: cover; }
.top-about-content {width: 90%;max-width: 1200px;margin: auto;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;}
.top-about-head {width: 36%;margin: 0;}
.top-about-title { padding-bottom: 40px; text-align: left; }
.top-about-title:after { display: none; }
.top-about-title .en { margin-bottom: 10px; font-size: 65px; letter-spacing: 4px; }
.top-about-title .jp { font-size: 15px; }
.top-about-more { margin-left: 0; display: table; }
.top-about-text {width: 62%;padding: 5px 50px 5px 60px;margin: 0;border-left: 1px solid #c2b8ae;}
.top-about-subtitle { margin-bottom: 30px; font-size: 18px; text-align: left; }
.top-about-comment { width: 100%; }
.top-about-comment p { font-size: 15px; }
.top-about-comment p:first-child { margin-bottom: 10px; }

.top-campaign { padding: 140px 0; }
.top-campaign:before { width: 265px; height: 169px; top: 290px; left: calc(50% - 525px); }
.top-campaign-title,.top-voice-title,.top-blog-title{margin-bottom:40px;}
.top-campaign-title .en,.top-voice-title .en,.top-blog-title .en{margin-bottom:10px;font-size:65px;letter-spacing:4px;}
.top-campaign-title .jp,.top-voice-title .jp,.top-blog-title .jp{font-size:15px;}
.top-campaign-comment { margin-bottom: 50px; font-size: 15px; }
.top-campaign-box { width: 730px; margin-bottom: 40px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: center; align-items: center; }
.top-campaign-box-image { width: 365px; order: 1; }
.top-campaign-box-text { padding: 0 30px; flex: 1; order: 0; }
.top-campaign-box-title { padding-bottom: 25px; margin-bottom: 25px; font-size: 18px; border: none; position: relative; }
.top-campaign-box-title:after { content: ''; width: 120px; height: 1px; background: #d7d3cf; position: absolute; bottom: 0; left: 50%; -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%); }
.top-campaign-box-course .time { padding: 12px; margin-bottom: 8px; font-size: 15px; letter-spacing: 2px; }
.top-campaign-box-course .price { font-size: 35px; }

.top-menu { padding: 0 0 140px; }
.top-menu:before { width: 655px; height: 425px; top: -50px; left: calc(50% - 1000px); }
.top-menu:after {width: 430px;height: 636px;bottom: -550px;right: 0;}
.top-menu-content { width: 90%; max-width: 1200px; margin: 0 auto; }
.top-menu-title { margin-bottom: 30px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.top-menu-title .en { margin: 0 15px 0 0; font-size: 65px; letter-spacing: 4px; }
.top-menu-title .jp { font-size: 15px; }
.top-menu-main { width: 100%; margin: 0 auto 50px; display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: flex-start; align-items: flex-start; }
.top-menu-main-image { width: 42%; margin: 0; }
.top-menu-main-text { width: 52%; margin: 0; }
.top-menu-main-title { margin-bottom: 30px; text-align: left; }
.top-menu-main-title .en { width: fit-content; padding: 10px 10px 7px; margin-bottom: 15px; font-size: 14px; letter-spacing: 2px; }
.top-menu-main-title .jp { font-size: 22px; }
.top-menu-main-comment { margin-bottom: 40px; }
.top-menu-main-comment p { font-size: 15px; }
.top-menu-main-more { margin-left: 0; }
.top-menu-sub-items {width: 90%;max-width: 1200px;}
.top-menu-sub-items li {width: 90%;position: relative;}
.top-menu-sub-items li:nth-child(even) { margin-left: auto; }
.top-menu-sub-items a { padding: 40px 60px 40px 40px; }
.top-menu-sub-items a:after { content: ''; width: 40px; height: 40px; background: #967c76 url(../images/arrow02.png) no-repeat center; background-size: 12px; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; position: absolute; top: 50%; right: 20px; -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top-menu-sub-item-title { padding: 0; margin-bottom: 10px; font-size: 22px; }
.top-menu-sub-item-title:after { display: none; }
.top-menu-sub-item-comment p { font-size: 15px; }
.top-menu-deco { width: 1100px; font-size: 135px; letter-spacing: 4px; top: -20px; left: 50%; }

.top-voice { padding: 140px 0; }
.top-voice-items {width: 90%;max-width: 1200px;margin-bottom: 40px;z-index: 2;position: relative;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;}
.top-voice-item {width: 32%;padding: 40px;margin: 0;}
.top-voice-item-badge { margin-bottom: 15px; font-size: 50px; letter-spacing: 2px; }
.top-voice-item-badge:before { width: 76px; height: 32px; top: -2px; left: -25px; }
.top-voice-item-title { margin-bottom: 15px; font-size: 20px; line-height: 1.6; }
.top-voice-item-comment p { font-size: 15px; }

.top-pickup { padding: 140px 0 100px; }
.top-pickup-content {width: 90%;max-width: 1200px;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;}
.top-pickup-title {width: 26%;margin: 0;display: block;}
.top-pickup-title .en { margin-bottom: 10px; font-size: 65px; letter-spacing: 4px; }
.top-pickup-title .jp { font-size: 15px; }
.top-pickup-items {width: 66%;margin: 0;display: -webkit-box;display: -webkit-flex;display: flex;-webkit-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-between;justify-content: space-between;}
.top-pickup-items li {width: 48%;margin-bottom: 40px;}
.top-pickup-item-image { margin-bottom: 20px; }
.top-pickup-item-title { padding-right: 50px; }
.top-pickup-item-title:after { width: 40px; height: 40px; background-size: 12px; }
.top-pickup-item-title .en { margin-bottom: 5px; font-size: 14px; letter-spacing: 2px; }
.top-pickup-item-title .jp { font-size: 20px; }

.top-blog { padding: 100px 0; }
.top-blog-content {width: 95%;max-width: 1200px;}
.top-blog-items { display: -webkit-box; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; justify-content: space-between; }
.top-blog-items li {width: 48%;margin-bottom: 40px;}
.top-blog-item-image { margin-bottom: 20px; }
.top-blog-item-time { padding: 10px 15px 9px; margin-bottom: 15px; font-size: 15px; letter-spacing: 1px; }
.top-blog-item-title { margin-bottom: 10px; font-size: 18px; }
.top-blog-item-comment p { font-size: 14px; line-height: 1.8; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; line-clamp: 2; -webkit-line-clamp: 2; }

@media screen and (min-width: 1000px) {
.top-concept-head { margin: 0 auto 230px 150px;}
.top-concept-image01 { width: 40%; margin: 0 0 70px auto; position: absolute; top: -20px; right: 0; }
.top-concept-image02 { width: 650px; position: absolute; bottom: 50px; left: -240px; }
.top-concept-image03 { width: 340px; margin: 0; z-index: 1; position: absolute; bottom: -80px; left: 120px; }
.top-concept-text { width: 640px; }

.top-about-head {width: 30%;margin: 0;}
.top-about-text {width: 68%;}

.top-blog-items{-webkit-justify-content: flex-start;justify-content: flex-start;gap: 30px;}
.top-blog-items li{width: -webkit-calc((100% - 60px) / 3);width: calc((100% - 60px) / 3);margin-bottom: 0;}

}

/* retina用
----------------------------------------------- */ }
@media screen and (min-width: 736px) and (-webkit-min-device-pixel-ratio: 2), screen and (min-width: 736px) and (min-resolution: 2dppx) { .top-concept-content:before { background: url(../images/deco01@2x.png) no-repeat top center; background-size: 100%; }
.top-concept-content:after { background: url(../images/deco02@2x.png) no-repeat top center; background-size: 100%; }
.top-about { background: url(../images/top-about-bg-pc@2x.jpg) no-repeat center; background-size: cover; }
.top-campaign:before { background: url(../images/deco01@2x.png) no-repeat top center; background-size: 100%; }
.top-menu:before { background: url(../images/top-menu-bg@2x.jpg) no-repeat top center; background-size: cover; }
.top-menu:after { background: url(../images/deco03@2x.png) no-repeat top center; background-size: 100%; }
.top-voice-item-badge:before { background: url(../images/top-voice-item-deco@2x.png) no-repeat top center; background-size: 100%; }
}
