@charset "UTF-8";

@media print, screen and (min-width:1200px) {

#kv {
width: 95%;
height: 80vh;
margin-top: 110px;
overflow: hidden;
border-radius: 0 70px 70px 0;
}

#kv img {
width: 100%;
height: 100%;
object-fit: cover;
}

#wrapAsafe {
width: 1200px;
margin: 0 auto;
padding: 90px 0;
}

#wrapAsafe img {
width: 292px;
}

#aSafeEn {
font-family: "Jost", sans-serif;
font-size: 8.5rem;
font-weight: 700;
margin: 70px auto;
line-height: 1em;
}

#wrapAsafe h1 {
font-size: 2.2rem;
font-weight: 600;
}

#wrapIndexService {
background-color: var(--themeSubColor);
width: 1200px;
text-align: justify;
margin: 0 auto;
margin-bottom: 55px;
padding: 60px 60px 60px;
border-radius: 30px;
}

.indexTitle {
font-family: var(--font-futura);
font-size: 6rem;
font-weight: 700;
line-height: .9em;
}

.indexTitle span {
font-family: var(--font-primary);
font-size: 2rem;
font-weight: 600;
display: block;
margin-top: 10px;
margin-left: 5px;
}

.indexServiceFlex {
position: relative;
margin-bottom: 200px;
display: flex;
justify-content: space-between;
}

#indexServicePhotoR,
#indexServicePhotoL {
width: 770px;
overflow: hidden;
border-radius: 50px;
}

#flag {
position: absolute;
width: 45px;
left: 8px;
top: 140px;
}

#indexServiceDeL,
#indexServiceDeR {
position: absolute;
background-color: #fff;
width: 460px;
padding: 42px;
border-radius: 30px;
}

#indexServiceDeL {
left: 0;
top: 250px;
}

#indexServiceDeR {
right: 0;
top: 270px;
}

.subTitle {
font-size: 2.7rem;
font-weight: 600;
margin-bottom: 25px;
line-height: 1.4
}

#indexServiceillust01 {
position: absolute;
width: 400px;
z-index: 1;
margin: auto;
left: 0;
right: -120px;
bottom: -140px;
}

#indexServiceillust02 {
position: absolute;
width: 530px;
z-index: 1;
left: 110px;
bottom: -180px;
}

.wrap {
width: 1200px;
text-align: justify;
margin: 0 auto;
padding: 60px 0;
}

.line {
background: rgb(5 28 124 / .1);
width: 1200px;
height: 5px;
margin: 0 auto;
border-radius: 5px;
}

#vehicleFlex {
display: flex;
justify-content: space-between;
}

#vehicleL {
width: 460px;
}

#vehicleLDe {
background-color: #fff;
width: 460px;
margin-top: 78px;
padding: 50px;
border-radius: 30px;
}

#vehicleR {
width: 664px;
}

.viFlex {
width: 100%;
overflow: hidden;
margin-bottom: 20px;
border-radius: 25px;
display: flex;
justify-content: space-between;
}

.viL {
background-color: #fa6a10;
width: 192px;
font-size: 1.3rem;
text-align: justify;
color: #fff;
padding: 0 20px;
display: table;
line-height: 1.6;
}
.inner {
display: table-cell;
vertical-align: middle;
}


.viL h4 {
font-size: 1.8rem;
font-weight: 600;
text-align: center;
}

.viR {
width: 472px;
}

#indexWrapSafety {
position: relative;
width: 1080px;
margin: 0 auto;
margin-top: 30px;
display: flex;
justify-content: space-between;
}

#indexSafetyL {
width: 727px;
border-radius: 25px 0 0 25px;
overflow: hidden;
}

#indexSafetyL img {
width: 100%;
height: 100%;
object-fit: cover;
}

#indexSafetyR {
background-color: #fff;
width: 353px;
padding: 56px;
border-radius: 0 25px 25px 0;
}

#indexSafetyIllust01 {
position: absolute;
width: 165px;
right: -46px;
top: -54px;
}

#indexSafetyIllust02 {
position: absolute;
width: 98px;
left: -60px;
bottom: 0px;
}

#indexSafetyIllust03 {
position: absolute;
width: 98px;
right: -60px;
bottom: 0px;
}

#indexCompanyFlex {
position: relative;
margin-bottom: 80px;
}

#indexCompanyLDe {
position: absolute;
background-color: #fff;
width: 395px;
padding: 50px;
border-radius: 30px;
z-index: 1;
left: 60px;
top: 45px;
}

#indexCompanyPhotoR {
width: 770px;
margin: 0 0 0 auto;
overflow: hidden;
border-radius: 40px;
}

#indexCompanyIllust {
position: absolute;
width: 234px;
z-index: 2;
left: -25px;
bottom: -53px;
}

.wrapColor {
background-color: #fcfcfc;
width: 100%;
}

#indexWrapNews {
width: 1140px;
}

#indexNewsFlex {
display: flex;
justify-content: space-between;
align-items: flex-end
}

.indexNewsWrap {
width: 917px;
margin: 0 0 0 auto;
padding: 20px;
border-bottom: 1px solid var(--themeSubColor);;
}

.postDate {
font-family: var(--font-oswald);
font-weight: 300;
display: inline-block;
margin-right: 20px;
}

.categoryTag {
font-size: 1.2rem;
display: inline-block;
margin-bottom: 10px;
}

#indexWrapRecruit {
position: relative;
width: 1080px;
margin: 0 auto;
margin-top: 30px;
display: flex;
justify-content: space-between;
}

#indexRecruitL {
width: 727px;
border-radius: 25px 0 0 25px;
overflow: hidden;
}

#indexRecruitL img {
width: 100%;
height: 100%;
object-fit: cover;
}

#indexRecruitR {
background-color: var(--themeSubColor);;
width: 353px;
padding: 56px;
display: table;
border-radius: 0 25px 25px 0;
}

#indexRecruitR .inner {
display: table-cell;
vertical-align: middle;
}

#indexRecruitIllust {
position: absolute;
width: 184px;
z-index: 2;
right: -50px;
top: -80px;
}

.btn,
.btnBu {
position: relative;
background-color: var(--themeColor);
width: 240px;
height: 56px;
font-size: 1.6rem;
font-weight: 600;
text-align: left;
color: #fff;
padding: 0 0 3px 25px;
cursor: pointer;
border-radius: 100px;
border: 0;
}

.btnBu {
background-color: var(--txtColor);
}

.btn::after,
.btnBu::after {
position: absolute;
background: url("../img/arrow_btn.png") no-repeat;
background-size: 55px;
width: 55px;
height: 26px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 15px;
transition: .3s;
}

.btnBu::after {
background: url("../img/arrow_btn_bu.png") no-repeat;
background-size: 55px;
}

.btn:hover::after,
.btnBu:hover::after {
right: 10px;
}

/**/

#wrapTitle {
position: relative;
width: 1200px;
height: 370px;
text-align: left;
margin: 0 auto;
margin-top: 110px;
display: flex;
justify-content: space-between;
}

#wrapTitleL {
width: 750px;
font-weight: 700;
}

#breadcrumbs {
font-size: 1.2rem;
font-weight: 400;
padding-top: 20px;
line-height: 1.5;
}

#contentsTitle {
font-family: var(--font-futura);
font-size: 6rem;
font-weight: 700;
margin: 70px 0 30px;
line-height: .95em;
}

#contentsTitle span {
font-family: var(--font-primary);
font-size: 2rem;
display: block;
}

#contentsTitleOther {
font-size: 3rem;
font-weight: 700;
margin: 70px 0 30px;
line-height: 1.5;
}

#wrapTitleR {
width: 450px;
margin-top: 80px;
}

#wrapTitleR2 {
width: 212px;
margin-top: 80px;
}

.wrapCo {
position: relative;
width: 1200px;
text-align: justify;
margin: 0 auto;
padding: 90px 0;
}

.wrapCo2 {
position: relative;
width: 1200px;
text-align: justify;
margin: 0 auto;
padding: 20px 0 90px;
}

.wrapCo3 {
position: relative;
width: 1200px;
text-align: justify;
margin: 0 auto;
padding: 90px 0 30px;
}

.wrapCo4 {
position: relative;
width: 1322px;
text-align: justify;
margin: 0 auto;
padding: 60px 0 30px;
}

.wrapCo5 {
position: relative;
max-width: 1322px;
width: 100%;
text-align: justify;
margin: 0 auto;
padding: 80px 0 70px;
}

.subTitleCo {
font-family: var(--font-futura);
font-size: 4.5rem;
font-weight: 700;
margin-bottom: 25px;
line-height: 1.1em;
}

.subTitleCo span {
font-family: var(--font-primary);
font-size: 1.7rem;
display: block;
}

.commonFlex {
display: flex;
}

.commonSb {
justify-content: space-between;
}

.coommonFe {
align-items: flex-end;
}

#benefitsFlex {
margin: 40px auto;
display: flex;
justify-content: center;
flex-wrap: wrap;
}

.benefits {
width: 374px;
font-size: 2.2rem;
text-align: center;
margin: 0 39px;
line-height: 3em;
}

.benefits:nth-of-type(1),
.benefits:nth-of-type(3) {
margin: 0 0 40px;
}

#wrapAdvantage {
background-color: #fcfcfc;
width: 1300px;
margin: 0 auto;
margin-bottom: 110px;
padding: 82px 127px;
border-radius: 40px;
}

#advantageInner {
width: 1046px;
margin: 0 auto;
}

.advantageFlex {
margin: 52px auto;
display: flex;
justify-content: space-between;
align-items: center;
}

.advantageFlex:last-child {
margin-bottom: 0;
}

.advantageL {
width: 550px;
overflow: hidden;
border-radius: 40px; 
}

.advantageR {
width: 458px;
text-align: justify;
}

.advantageR .number {
font-family: var(--font-oswald);
font-size: 9rem;
font-weight: 700;
color: var(--themeColor);
line-height: 1;
}

.advantageR h3 {
font-size: 2.7rem;
font-weight: 600;
margin: 20px 0;
line-height: 1.5;
}

.wrapAllColor {
background-color: var(--themeSubColor);
width: 100%;
margin: 0 auto;
border-radius: 40px;
}

.wrapAllColor2 {
background-color: #fcfcfc;
width: 100%;
margin: 84px auto;
border-radius: 40px;
}

#wrapUseOfInner {
width: 1200px;
text-align: justify;
margin: 0 auto;
padding: 82px 0;
}

#useOfFlex {
margin: 0 auto;
margin-top: 40px;
display: flex;
justify-content: space-between;
align-items: center;
}

.useOf {
width: 374px;
}

.useOf h3 {
font-size: 2.2rem;
text-align: center;
margin-bottom: 10px;
}

.useOf img {
border-radius: 15px;
}

.useOf p {
margin-top: 15px;
margin-bottom: 0;
}

#wrapBookingProcess {
width: 1024px;
margin: 0 auto;
margin-top: 50px;
}

.bookingProcessFlex {
background-color: #fff;
padding: 30px;
display: flex;
justify-content: space-between;
align-items: center;
}

.bookingProcessFlex:nth-child(2n) {
background-color: var(--themeSubColor);;
}

.bookingProcessL {
width: 227px;
text-align: center;
}

.bookingProcessL img {
width: 116px;
}

.bookingProcessR {
width: 797px;
}

.bookingProcessR p {
margin-bottom: 0;
}

.bookingProcessR dt {
float: left;
font-family: var(--font-futura);
font-size: 2rem;
font-weight: 700;
line-height: 2.2em;
}

.bookingProcessR dd {
padding: 0 60px 0 92px;
}

.bookingProcessR dd h3 {
font-size: 2.2rem;
}

#typeOfFlex {
margin: 20px auto;
margin-top: 50px;
display: flex;
justify-content: space-between;
}

.typeOf {
width: 374px;
}

.typeOf img {
border-radius: 20px;
}

.typeOfPhoto {
width: 100%;
height: 315px;
overflow: hidden;
border-radius: 15px;
}

.typeOfPhoto img {
width: 100%;
height: 315px;
object-fit: cover;
}

.typeOf h3 {
font-size: 2.2rem;
text-align: center;
margin: 10px auto;
margin-bottom: 0;
padding-bottom: 10px;
border-bottom: 1px solid #8896d8;
}

.typeOf dl {
font-size: 1.8rem;
margin-bottom: 10px;
}

.typeOf dt {
float: left;
padding: 5px 0;
}

.typeOf dd {
padding: 5px 0 5px 130px;
border-bottom: 1px solid #8896d8;
}

#wrapCalculationToolsInner {
width: 1170px;
text-align: center;
margin: 0 auto;
margin-bottom: 88px;
padding: 82px 0;
}

#calculationToolsFlex {
margin-top: 50px;
display: flex;
justify-content: space-between;
}

#calculationToolsL {
width: 578px;
text-align: justify;
}

#calculationToolsL h3 {
background-color: #fff;
width: 338px;
height: 38px;
text-align: center;
margin: 0 auto;
margin-bottom: 20px;
border: 1px solid #051c7c;
border-radius: 100px;
line-height: 35px;
}

#calculationToolsL dl {
width: 82%;
margin: 0 auto;
margin-bottom: 30px;
}

#calculationToolsL dt {
float: left;
font-weight: 600;
margin-bottom: 10px;
}

#calculationToolsL dd {
margin-bottom: 10px;
padding: 0 0 0 80px;
}

#calculationToolsR {
background-color: #fff;
width: 545px;
text-align: left;
padding: 40px;
border-radius: 20px;
}

#calculationToolsR h3 {
font-size: 2.2rem;
font-weight: 600;
text-align: center;
margin-bottom: 20px;
padding-bottom: 20px;
border-bottom: 1px solid #8896d8;
line-height: 1;
}

#calculationToolsR input {
font-family: var(--font-primary);
width: 100%;
font-size: 1.5rem;
height: 50px;
text-align: right;
margin: 5px auto;
padding: 0 15px;
border: 2px solid #8b96c2;
border-radius: 10px;
}

#calculationToolsR input::placeholder {
text-align: left;
font-weight: 600;
color: #b1b1d4;
}

.btnCalculation {
font-family: var(--font-primary);
background-color: #051c7c;
width: 100%;
height: 50px;
font-size: 1.7rem;
font-weight: 600;
color: #fff;
text-align: center;
margin-top: 5px;
margin-bottom: 10px;
cursor: pointer;
border: 2px solid #051c7c;
border-radius: 10px;
transition: .3s;
}

.btnCalculation:hover {
background-color: #fff;
color: #051c7c;
}

.wrapResult {
background-color: var(--themeSubColor);
width: 100%;
font-size: 1.4rem;
border-radius: 10px;
}

.wrapResultTop {
text-align: center;
padding: 20px 20px 10px;
}

.wrapResultDe {
font-weight: 600;
display: flex;
justify-content: space-between;
padding: 3px 20px;
}

.wrapResultDe:last-of-type {
padding: 3px 20px 20px;
}

/**/

#tourPackFlex {
position: relative;
margin-top: 10px;
margin-bottom: 125px;
display: flex;
justify-content: space-between;
}

#tourPackL {
position: absolute;
width: 1200px;
margin: auto;
left: 0;
right: 0;
top: 50%;
transform: translateY(-50%);
}

#tourPackL .inner {
width: 498px;
font-size: 1.7rem;
text-align: justify;
line-height: 2.2;
}

#tourPackL .inner h2 {
font-size: 2.7rem;
font-weight: 700;
text-align: center;
color: #fff;
margin-bottom: 30px;
line-height: 2.5em;
}

#tourPackL .inner h2 span {
background-color: var(--themeColor);
padding: 10px 20px;
}

#tourPackR {
width: 52%;
height: 466px;
margin: 0 0 0 auto;
overflow: hidden;
border-radius: 40px 0 0 40px;
}

#tourPackR img {
width: 100%;
height: 466px;
object-fit: cover;
}

#wrapPlan {
background-color: #fcfcfc;
max-width: 1322px;
width: 100%;
margin: 0 auto;
padding: 40px 166px 88px;
border-radius: 50px;
}

#planBg {
background: url("../img/tour_pack_img.png") no-repeat center;
background-size: 640px;
padding: 40px 0;
}

#planFlex {
margin-top: 60px;
display: flex;
justify-content: space-between;
}

.plan {
width: 454px;
font-size: 1.7rem;
text-align: center;
padding-bottom: 15px;
border-bottom: 2px solid #c1c9ed;
}

.plan h3 {
font-size: 2.2rem;
margin-bottom: 15px;
padding-bottom: 15px;
border-bottom: 2px solid #c1c9ed;
}

.plan ul {
text-align: left;
line-height: 2.2;
}

#referencePrice01 {
background-color: #f2f2f7;
width: 302px;
font-size: 1.5rem;
margin: 10px auto;
margin-top: 40px;
}

#referencePrice02 {
font-size: 2rem;
line-height: 1.5;
}

#referencePrice02 span {
font-size: 2.7rem;
font-weight: 700;
display: block;
}

.tourPackOther h3 {
margin-bottom: 20px;
}

#subTitleRFlex {
display: flex;
justify-content: flex-start;
}

#subTitleR {
font-size: 2rem;
margin-left: 60px;
}

/**/

#noSmoking {
position: relative;
float: right;
background-color: var(--themeSubColor);
width: 294px;
height: 30px;
text-align: center;
line-height: 28px;
top: 25px;
}

#noSmokingSp {
display: none;
}

.wrapColorTypesTop {
background-color: var(--themeSubColor);
width: 100%;
padding: 80px 122px;
border-radius: 30px 30px 0 0;
}

.typesInner {
width: 1082px;
margin: 0 auto;
}

.typesSightseeingFlex {
display: flex;
justify-content: space-between;
}

.typesSightseeingL {
width: 540px;
overflow: hidden;
border-radius: 20px;
}

.typesSightseeingR {
width: 480px;
}

.typesSightseeingR h3 {
font-size: 2.4rem;
margin-bottom: 20px;
}

.typesSightseeingTable {
font-size: 1.3rem;
line-height: 1.6;
}

.typesSightseeingTable th {
background-color: #8996d8;
width: 65px;
color: #fff;
text-align: center;
padding: 5px;
vertical-align: middle;
border: 1px solid #7380b5;
}

.typesSightseeingTable td {
background-color: #fff;
padding: 5px 10px;
border: 1px solid #7380b5;
}

.typesSightseeingFlexBottom {
margin-top: 30px;
display: flex;
justify-content: space-between;
}

.typesSightseeingFlexBottom div {
width: 348px;
overflow: hidden;
border-radius: 20px;
}

.wrapColorTypesMiddle {
background-color: #fcfcfc;
width: 100%;
padding: 80px 122px;
}

.wrapColorTypesBottom {
background-color: #fcfcfc;
width: 100%;
margin-bottom: 60px;
padding: 80px 122px;
border-radius: 0 0 30px 30px;
}

.wrapColorTypesBottom2 {
background-color: var(--themeSubColor);
width: 100%;
margin-bottom: 60px;
padding: 80px 122px;
border-radius: 0 0 30px 30px;
}

/**/

#aboutNav {
position: relative;
width: 390px;
font-size: 1.7rem;
font-weight: 600;
margin-top: 100px;
left: -150px;
}

#aboutNav ul li {
position: relative;
margin-right: 25px;
margin-bottom: 20px;
padding-right: 22px;
padding-bottom: 3px;
display: inline-block;
border-bottom: 2px solid #c1c9ed;
}

#aboutNav ul li::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
transform: rotate(45deg);
border-right: 2px solid #8996d8;
border-bottom: 2px solid #8996d8;
right: 0;
top: -5px;
bottom: 0;
}

#wrapMessage {
position: relative;
background-color: var(--themeSubColor);
width: 100%;
margin-bottom: 120px;
padding: 120px 0;
display: flex;
justify-content: space-between;
}

#messageL {
position: absolute;
width: 1200px;
margin: auto;
padding: 120px 0;
left: 0;
right: 0;
top: 0;
}

#messageL .inner {
width: 600px;
font-size: 1.7rem;
text-align: justify;
line-height: 2.2;
}

#messageL .inner h3 {
font-size: 3.2rem;
font-weight: 700;
margin-bottom: 30px;
line-height: 1.5;
}

#messageR {
width: 45%;
height: 780px;
margin: 0 0 0 auto;
overflow: hidden;
border-radius: 40px 0 0 40px;
}

#messageR img {
width: 100%;
height: 780px;
object-fit: cover;
}

#wrapPhilosophy {
background-color: #fcfcfc;
max-width: 1322px;
width: 100%;
font-size: 1.7rem;
text-align: center;
margin: 0 auto;
margin-bottom: 120px;
padding: 88px 166px;
border-radius: 50px;
}

.philosophyLine {
width: 100%;
margin: 40px auto;
border-top: 2px solid #c1c9ed;
}

#wrapPhilosophy dl {
width: 755px;
font-size: 2.2rem;
text-align: justify;
margin: 0 auto;
line-height: 1.7;
}

#wrapPhilosophy dt {
float: left;
padding: 20px 0;
}

#wrapPhilosophy dd {
padding: 20px 0 20px 50px;
}

#wrapPhilosophy p {
width: 755px;
text-align: justify;
margin: 0 auto;
margin-top: 60px;
line-height: 2.5;
}

.basicPolicy {
position: relative;
background-color: var(--themeSubColor);
width: 98%;
height: 300px;
margin: 0 0 0 auto;
padding-left: 100px;
display: table;
border-radius: 500px 0 0 500px;
}

.basicPolicy:nth-child(2n) {
background-color: #fff;
left: 100px;
}

.basicPolicy:nth-child(3) {
left: 200px;
}

.basicPolicy:nth-child(4) {
left: 300px;
}

.basicPolicy .inner {
display: table-cell;
vertical-align: middle;
}

.basicPolicyFlex {
display: flex;
justify-content: flex-start;
align-items: center;
}

.basicPolicyFlex h2 {
width: 370px;
text-align: left;
margin-bottom: 0;
}

.basicPolicyR {
width: 680px;
font-size: 2.2rem;
text-align: justify;
}

#wrapMemberOrganization {
width: 1200px;
text-align: left;
margin: 120px auto;
margin-bottom: 0;
padding: 72px 0;
border-top: 2px solid #c1c9ed;
border-bottom: 2px solid #c1c9ed;
display: flex;
justify-content: space-between;
align-items: center;
}

#wrapMemberOrganization h2 {
width: 40%;
margin-bottom: 0;
}

#memberOrganizationR {
width: 60%;
font-size: 1.7rem;
}

.overviewFlex {
background-color: #fff;
width: 1080px;
text-align: left;
margin: 0 auto;
border-bottom: 1px solid var(--txtColor);
display: flex;
justify-content: space-between;
}

.overviewFlex:first-of-type {
margin-top: 50px;
}

.overviewFlex:last-child {
border-bottom: 0;
}

.overviewL {
background-color: #FFD1B4;
width: 180px;
padding: 20px 25px;
}

.overviewR {
width: 900px;
padding: 20px 30px;
}

#wrapHistory {
background-color: #fff;
width: 1200px;
text-align: left;
margin: 10px auto;
margin-bottom: 100px;
padding: 80px;
border-radius: 50px;
display: flex;
justify-content: flex-start;
}

#wrapHistory h2 {
width: 300px;
padding-top: 10px;
}

#historyR {
position: relative;
width: 600px;
padding-top: 20px;
}

#historyR::before {
position: absolute;
background-color: var(--themeColor);
width: 1px;
height: 100%;
content: "";
top: 0;
left: 154px;
}

#historyR dt {
position: relative;
float: left;
width: 160px;
height: 70px;
font-size: 3rem;
font-weight: 500;
color: #fdbe96;
line-height: 1;
}

#historyR dt::after {
position: absolute;
background-color: var(--themeColor);
width: 11px;
height: 11px;
content: "";
margin: auto;
border-radius: 11px;
top: 10px;
right: 0;
}

#historyR dd {
height: 70px;
padding: 0 0 0 200px;
}

/**/

.wrapSafety {
background-color: #fcfcfc;
max-width: 1322px;
width: 100%;
font-size: 1.7rem;
text-align: center;
margin: 0 auto;
margin-bottom: 30px;
padding: 65px 120px 70px;
border-radius: 50px;
}

.safetyFlex {
display: flex;
justify-content: flex-start;
align-items: center;
}

.safetyNumber {
width: 190px;
}

.safetyFlex h2 {
font-size: 2.7rem;
font-weight: 600;
margin-left: 30px;
}

.safetyFlexDe {
width: 1052px;
margin: 0 auto;
margin-top: 40px;
display: flex;
justify-content: space-between;
}

.safetyDeL {
width: 494px;
font-size: 1.5rem;
text-align: justify;
}

.safetyDeL p:last-child {
margin-bottom: 0;
}

.safetyDeR {
width: 532px;
text-align: center;
}

.btnBlank {
position: relative;
background-color: #fa6a10;
font-family: var(--font-primary);
width: auto;
height: 48px;
font-size: 1.5rem;
font-weight: 600;
text-align: center;
color: #fff;
padding: 0 45px 2px 20px;
cursor: pointer;
border-radius: 100px;
border: 2px solid  var(--themeColor);
}

.btnBlank::after {
position: absolute;
background: url("../img/btn_blank.svg") no-repeat;
background-size: 18px;
content: "";
width: 18px;
height: 18px;
margin: auto;
top: 0;
bottom: 0;
right: 20px;
transition: .3s;
}

.btnBlank:hover::after {
right: 18px;
}

/**/

#wrapNews {
background-color: #fff;
width: 1200px;
text-align: justify;
margin: 100px auto;
margin-top: -100px;
padding: 70px 88px;
border-radius: 30px;
}

#categoryNav {
position: relative;
margin-bottom: 40px;
z-index: 10;
}

#categoryNav ul {
display: flex;
justify-content: flex-start;
}

#categoryNav ul li {
width: 120px;
height: 30px;
font-size: 1.4rem;
text-align: center;
margin-right: 15px;
display: inline-block;
border: 1px solid var(--themeColor);
border-radius: 5px;
line-height: 27px;
transition: .3s;
}

#categoryNav ul li:hover {
background-color: var(--themeColor);
}

#categoryNav ul li a {
color: var(--themeColor);
display: block;
}

#categoryNav ul li a:hover {
color: #fff;
}

.newsList {
position: relative;
width: 100%;
border-bottom: 2px solid #c1c9ed;
transition: .3s;
}

.newsList:first-of-type {
border-top: 2px solid #c1c9ed;
}

.newsList::after {
position: absolute;
width: 10px;
height: 10px;
content: "";
margin: auto;
border-top: 1px solid var(--txtColor);
border-right: 1px solid var(--txtColor);
transform: rotate(45deg);
transition: .3s;
top: 0;
bottom: 0;
right: 30px;
}

.newsList:hover::after {
right: 25px;
}

.newsList a {
width: 100%;
height: 100%;
padding: 34px 80px 34px 10px;
display: flex;
justify-content: space-between;
}

.newsListDate {
font-family: var(--font-futura);
width: 220px;
font-size: 1.7rem;
color: var(--themeColor);
}

.newsListDate .category {
position: relative;
width: 110px;
height: 24px;
font-size: 1.4rem;
text-align: center;
margin-left: 15px;
display: inline-block;
border: 1px solid var(--themeColor);
border-radius: 5px;
line-height: 23px;
top: -1px;
}

.newsListTitle {
width: 680px;
}

#wrapNews article {
width: 824px;
margin: 0 auto;
}

.postTitle {
font-size: 2.4rem;
font-weight: 600;
margin: 40px auto;
margin-top: 60px;
line-height: 1.5;
}

#wrapNews article img {
margin-bottom: 30px;
}

#warpBack {
text-align: center;
margin: 20px auto;
margin-top: 60px;
}

.btnBackToList {
background: #fff url("../img/btn_back.png") no-repeat right;
background-size: 38px;
font-family: var(--font-primary);
width: 200px;
height: 38px;
font-size: 1.5rem;
font-weight: 600;
color: var(--txtColor);
text-align: left;
cursor: pointer;
border: 0;
}

/**/

.pageNavi {
margin: 0 auto;
margin-top: 40px;
}

.wp-pagenavi {
position: relative;
font-size: 1.4rem;
text-align: center;
margin: 0 auto;
display: flex;
justify-content: center;
line-height: 40px;
}

.wp-pagenavi .pages {
display: none;
}

.wp-pagenavi .page {
margin: 0 3px;
}

.wp-pagenavi .current {
background-color: var(--themeColor);
width: 45px;
height: 45px;
color: #fff;
margin: 0 3px;
display: block;
border: 1px solid var(--themeColor) !important;
}

.wp-pagenavi a,
.wp-pagenavi .extend {
width: 45px;
height: 45px;
display: block;
border: 1px solid var(--themeColor) !important;
}
.wp-pagenavi .first,
.wp-pagenavi .last {
display: none;
}

.wp-pagenavi a:hover {
background-color: var(--themeColor);
color: #fff;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
position: relative;
font-size: 0;
text-indent: -1000px;
border: 0 !important;
}

.wp-pagenavi a:hover.previouspostslink,
.wp-pagenavi a:hover.nextpostslink {
background-color: #fff;
}

.wp-pagenavi .previouspostslink::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-left: 1px solid var(--themeColor);
transform: rotate(-45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
}

.wp-pagenavi .nextpostslink::after {
position: absolute;
width: 12px;
height: 12px;
content: "";
margin: auto;
border-top: 1px solid var(--themeColor);
border-right: 1px solid var(--themeColor);
transform: rotate(45deg);
left: 0;
right: 0;
top: 0;
bottom: 0;
}

/**/

#pointWrapFlex {
margin-top: 60px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.pointWrap {
background-color: #fcfcfc;
width: 585px;
margin-bottom: 30px;
border-radius: 30px;
}

.pointWrap .point {
background-color: var(--txtColor);
font-family: var(--font-futura);
width: 237px;
height: 53px;
font-size: 2.5rem;
font-weight: 700;
text-align: center;
color: #fff;
line-height: 51px;
border-radius: 30px 0 30px;
}

.pointWrap .inner {
width: 100%;
padding: 40px 60px 60px;
}

.pointWrap .inner h3 {
font-size: 2.2rem;
text-align: center;
}

.pointWrap .inner p {
margin-bottom: 0;
}

.pointWrap .inner div {
margin-bottom: 30px;
}

#warpTrainingSystem {
position: relative;
width: 1080px;
text-align: center;
margin: 0 auto;
padding: 90px 0;
}

.trainingSystemFlex {
margin: 0 auto;
padding: 40px 0;
border-bottom: 2px solid #c1c9ed;
display: flex;
justify-content: space-between;
align-items: center;
}

.trainingSystemFlex:first-of-type {
margin-top: 60px;
border-top: 2px solid #c1c9ed;
}

.trainingSystemTxt {
width: 494px;
text-align: justify;
}

.trainingSystemTitle {
margin-bottom: 20px;
display: flex;
justify-content: flex-start;
align-items: center;
}

.trainingSystemTitle div {
width: 84px;
margin-right: 15px;
}

.trainingSystemTitle {
font-size: 2.2rem;
font-weight: 600;
}

.trainingSystemPhoto {
width: 540px;
overflow: hidden;
border-radius: 30px;
}

#wrapWorkingEnvironment {
width: 974px;
margin: 0 auto;
padding: 90px 0;
}

#wrapWorkingEnvironment .inner {
width: 100%;
text-align: left;
padding: 30px 0;
display: block;
border-top: 2px solid #c1c9ed;
}

#wrapWorkingEnvironment .inner:last-child {
border-bottom: 2px solid #c1c9ed;
}

#wrapWorkingEnvironment .inner h3 {
font-size: 2.2rem;
margin-bottom: 15px;
}

.workingFlex {
width: 100%;
display: flex;
justify-content: space-between;
}

.workingFlex div {
width: 50%;
font-size: 1.7rem;
}

#environmentFlex {
margin: 20px auto;
margin-bottom: 0;
display: flex;
justify-content: center;
}

#environmentFlex div {
width: 180px;
font-size: 1.7rem;
font-weight: 600;
text-align: center;
margin: 0 30px;
line-height: 2.5;
}

#environmentFlex div img {
border-radius: 180px;
}

#environmentFlex div p {
margin-bottom: 0;
}

#wrapRecruitment {
background-color: #fff;
width: 1080px;
font-size: 1.7rem;
margin: 40px auto;
padding: 88px;
border-radius: 30px;
}

#wrapRecruitment h3 {
font-size: 2.7rem;
font-weight: 600;
text-align: center;
margin-bottom: 30px;
line-height: 1;
}

#wrapRecruitment dt {
float: left;
font-weight: 600;
padding: 20px 0;
}

#wrapRecruitment dd {
padding: 20px 0 20px 150px;
border-bottom: 1px solid #d8ddd8;
}

.introductionWrap {
position: relative;
width: 800px;
margin: 100px auto;
}

.introductionWrap:last-child {
margin-bottom: 0;
}

.introductionPhoto {
background-color: #fff;
width: 500px;
padding-top: 40px;
text-align: center;
overflow: hidden;
border-radius: 40px;
}

.introductionPhotoR {
background-color: #fff;
width: 500px;
text-align: center;
padding-top: 40px;
margin: 0 0 0 auto;
overflow: hidden;
border-radius: 40px;
}

.introductionPhoto img,
.introductionPhotoR img {
width: 50%;
margin: 0 auto;
}

.introductionFukidashiR {
position: absolute;
background-color: #fa6a10;
width: 347px;
color: #fff;
padding: 40px;
border-radius: 30px;
z-index: 2;
right: 0;
top: -40px;
}

.introductionFukidashiR::after {
position: absolute;
background: url("../img/introduction_fukidashi_r.png") no-repeat;
background-size: 130px;
width: 130px;
height: 110px;
content: "";
z-index: 1;
transform: rotate(10deg);
left: 0;
bottom: -65px;
}

.introductionFukidashiL {
position: absolute;
background-color: #fa6a10;
width: 347px;
color: #fff;
padding: 40px;
border-radius: 30px;
z-index: 2;
left: 0;
top: -40px;
}

.introductionFukidashiL::after {
position: absolute;
background: url("../img/introduction_fukidashi_l.png") no-repeat;
background-size: 130px;
width: 130px;
height: 110px;
content: "";
z-index: 1;
transform: rotate(-10deg);
right: 0;
bottom: -65px;
}

#recruitBanner {
width: 1080px;
margin: 0 auto;
}

.vk_jobInfo {
margin-top: 50px;
}

.vk_jobInfo th {
min-width: 80px;
max-width: 100%;
font-size: 1.7rem !important;
font-weight: 600;
font-weight: bold;
padding: 20px 0 !important;
border-bottom: 1px solid #d8ddd8;
}

.vk_jobInfo_table {
width: 100%;
}

.vk_jobInfo_table td {
font-size: 1.7rem !important;
padding: 20px 0 !important;
border-bottom: 1px solid #d8ddd8;
}

/**/

#wrapReservations {
background-color: #fff;
width: 1200px;
font-size: 1.6rem;
text-align: left;
margin: 90px auto;
margin-top: 60px;
padding: 68px;
border-radius: 30px;
}

#reservationsTop {
font-size: 1.4rem;
}

#wrapReservations dt {
float: left;
padding: 20px 0 0;
}

#wrapReservations dd {
padding: 10px 0 10px 250px;
}

.inputW,
.inputS {
background-color: #fff;
width: 100%;
height: 48px;
font-size: 1.6rem;
padding: 0 15px;
border: 1px solid #d8ddd8;
border-radius: 5px;
}

.inputS {
width: 320px;
}

.inputBottom {
font-size: 1.4rem;
color: #c9c9c9;
margin-top: 10px;
line-height: 1;
}

textarea {
background-color: #fff;
width: 100%;
height: 200px;
font-size: 1.6rem;
padding: 15px;
border: 1px solid #d8ddd8;
border-radius: 5px;
}

.radioWrap {
padding: 10px 0;
}

.radioWrap input[type="radio"] {
opacity: 0;
visibility: hidden;
position: absolute;
}

.radioWrap .wpcf7-list-item {
display: inline-block;
}

.radioWrap span.wpcf7-list-item-label {
position: relative;
display: flex;
align-items: center;
cursor: pointer;
margin-left: -17px;
margin-right: 20px;
}

.radioWrap span.wpcf7-list-item-label::before {
display: block;
content: "";
border-radius: 50%;
border: 1px solid #d8ddd8;
width: 18px;
height: 18px;
margin-right: 5px;
margin-top: 3px;
}

.radioWrap span.wpcf7-list-item-label::after {
position: absolute;
content: "";
border-radius: 50%;
width: 8px;
height: 8px;
background-color: #fff;
left: 5px;
top: 50%;
transform: translateY(-50%);
display: none;
margin-top: 1.5px;
}

.radioWrap input[type="radio"]:checked + span.wpcf7-list-item-label::after {
display: block;
}

.radioWrap input[type="radio"]:checked + span.wpcf7-list-item-label::before {
display: block;
background-color: var(--txtColor);
}

.wpcf7-submitWrap {
text-align: center;
margin: 0 auto;
margin-top: 40px;
}

.wpcf7-submit {
position: relative;
background-color: var(--themeColor);
width: 240px;
height: 56px;
font-size: 1.6rem;
font-weight: 600;
text-align: center;
color: #fff;
margin: 0 auto;
padding: 0 0 3px;
cursor: pointer;
border-radius: 100px;
border: 0;
}

/**/

#wrapPrivacy {
background-color: #fff;
width: 1200px;
text-align: justify;
margin: 90px auto;
margin-top: -100px;
padding: 64px 86px;
}

#wrapPrivacy h2 {
position: relative;
background-color: #f2f2f7;
font-size: 1.7rem;
margin-bottom: 38px;
padding: 0 10px;
}

#wrapPrivacy h2::after {
position: absolute;
width: 100%;
content: "";
border-bottom: 1px solid #7b7e7b;
left: 0;
bottom: -20px;
}

.ppDl dt {
float: left;
font-size: 1.7rem;
}

.ppDl dd {
padding: 0 0 0 27px;
}

.ppDl dd h3 {
font-size: 1.7rem;
margin-bottom: 7px;
}

/**/

#wrapFlex {
width: 1200px;
margin: 90px auto;
margin-top: -100px;
display: flex;
justify-content: space-between;
}

#contentsL {
background-color: #fff;
width: 858px;
text-align: justify;
padding: 60px;
}

#contentsL a {
position: relative;
z-index: 1;
}

#contentsL h2 {
background-color: var(--themeSubColor);
font-size: 1.7rem;
font-weight: 600;
margin-bottom: 20px;
padding-left: 10px;
border-left: 3px solid #fa6A10;
}

#contentsL h3 {
font-size: 1.7rem;
font-weight: 600;
color: #fa6a10;
/*margin-left: 16px;*/
margin-bottom: 15px;
padding: 3px 0;
border-top: 1px solid #c1c9ed;
border-bottom: 1px solid #c1c9ed;
}

#contentsL h4 {
font-size: 1.7rem;
font-weight: 600;
color: #fa6a10;
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 1px solid #c1c9ed;
}

#contentsL p {
/*margin-left: 16px;*/
margin-bottom: 15px;
}

#tableOfContents,
#tableOfContents2 {
background-color: var(--themeSubColor);
width: 300px;
text-align: left;
padding: 25px;
}

#tableOfContents h4,
#tableOfContents2 h4 {
background-color: var(--txtColor);
width: 100%;
height: 40px;
font-size: 1.7rem;
color: #fff;
margin-bottom: 15px;
padding: 0 15px;
line-height: 38px;
}

#tableOfContents2 h4 {
margin-bottom: 0;
}

#tableOfContents ul li {
position: relative;
font-size: 1.7rem;
font-weight: 500;
z-index: 1;
}

#tableOfContents ul li ul {
margin-bottom: 15px;
padding-bottom: 15px;
border-bottom: 2px solid #c1c9ed;
}

#tableOfContents ul li ul li {
font-size: 1.3rem;
font-weight: 400;
}

#tableOfContents2 ul li {
position: relative;
font-size: 1.7rem;
z-index: 1;
}

#tableOfContents2 ul li a {
padding: 12px 0;
display: block;
border-bottom: 2px solid #c1c9ed;
}

#tableOfContents2 ul {
}

#tableOfContents2 ul li ul li {
font-size: 1.3rem;
font-weight: 400;
line-height: 1.5;
}

.wp-block-list {
list-style-type: decimal;
margin-left: 16px;
margin-bottom: 20px;
}

.wp-block-table table {
width: 100%;
margin-bottom: 25px;
}

.wp-block-table table th,
.wp-block-table table td {
padding: 5px;
border: 1px solid #7380b5;
}

.wp-block-table table th {
background-color: #8996d8;
color: #fff;
}

/**/

#wrapContactTel {
background-color: #fcfcfc;
width: 100%;
padding: 88px 0;
}

#contactBottomFlex,
#telBottomFlex {
position: relative;
background-color: var(--txtColor);
width: 1200px;
height: 230px;
margin: 0 auto;
border-radius: 40px;
display: flex;
justify-content: space-between;
line-height: 1.3;
}

#telBottomFlex {
background-color: #fa6a10;
margin-top: 20px;
}

#contactBottomIllust01 {
position: absolute;
width: 88px;
left: -50px;
top: -7px;
}


#contactBottomIllust02 {
position: absolute;
width: 138px;
left: -63px;
bottom: 0px;
}

#contactBottomL,
#telBottomL {
background-color: #5151b1;
width: 362px;
font-family: var(--font-futura);
font-size: 4rem;
font-weight: 700;
text-align: center;
color: #fff;
display: table;
border-radius: 40px 0 0 40px;
}

#telBottomL {
background-color: #fd8236;
}

#contactBottomL span,
#telBottomL span {
font-family: var(--font-primary);
font-size: 1.7rem;
display: block;
}

#contactBottomL h5,
#telBottomL h5 {
display: table-cell;
vertical-align: middle;
}

#contactBottomR {
width: 836px;
font-size: 2rem;
font-weight: 600;
color: #fff;
padding: 45px 0;
}

#contactBottomR p {
font-size: 1.5rem;
}

#btncontactBottom {
position: relative;
background-color: #fff;
font-family: var(--font-primary);
width: 348px;
height: 60px;
font-size: 1.6rem;
font-weight: 600;
text-align: left;
color: var(--txtColor);
margin: 15px auto;
padding: 0 0 3px 45px;
cursor: pointer;
border: 0;
border-radius: 100px;
}

#btncontactBottom::after {
position: absolute;
background: url("../img/arrow_btn_contact_bottom.svg") no-repeat;
background-size: 33px;
width: 33px;
height: 15px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 17px;
transition: .3s;
}

#btncontactBottom:hover::after {
right: 15px;
}

#telBottomR {
font-family: var(--font-futura);
width: 836px;
font-size: 4.9rem;
color: #fff;
padding: 45px 0;
display: flex;
justify-content: center;
align-items: center;
}

#telBottomR a {
font-weight: 700;
color: #fff;
}

#receptionHours {
font-size: 1.8rem;
font-weight: 600;
margin-left: 60px
}

#receptionHours span {
font-family: var(--font-futura);
font-size: 2rem;
}

#receptionHours p {
font-size: 1.5rem;
margin-bottom: 0;
}

/**/

footer {
position: relative;
background-image: linear-gradient(100deg, #f8b62d, #ff6b0f 35%);
width: 100%;
text-align: left;
color: #fff;
margin: 0 auto;
padding: 70px 50px;
white-space: nowrap;
display: flex;
justify-content: space-between;
}

#footerL {
width: 460px;
font-size: 1.4rem;
}

#footerLogo {
width: 322px;
margin-bottom: 20px;
}

#telBusinessFlex {
margin-bottom: 30px;
display: flex;
justify-content: flex-start;
align-items: center;
}

#telBusinessFlex #tel {
font-family: var(--font-futura);
font-size: 1.8rem;
font-weight: 700;
margin-right: 20px;
}

#telBusinessFlex #tel a {
color: #fff;
}

#telBusinessFlex #tel span {
letter-spacing: .12em;
}

#telBusinessFlex #tel i {
letter-spacing: .03em;
}

#telBusinessFlex #business{
font-size: 1.1rem;
line-height: 1.5;
}

.copyright {
font-family: var(--font-futura);
}

#footerR {
width: 800px;
margin: 30px 0 0;
padding-left: 80px;
}

#footerR nav {
display: flex;
justify-content: space-between;
line-height: 1.5;
}

#footerR nav ul li {
position: relative;
display: table;
margin-bottom: 15px;
padding-left: 18px;
}

#footerR nav ul li::before {
position: absolute;
background-color: #fff;
width: 9px;
height: 2px;
content: "";
left: 0;
top: 11px;
}

#footerR nav ul li a {
color: #fff;
}

#footerR nav ul li a:hover {
opacity: .7;
}

#footerR nav ul li ul {
margin: 10px 0;
}

#footerR nav ul li ul li{
margin-bottom: 5px;
}

#footerR nav ul li ul li::before {
display: none;
}

#pagetop {
position: fixed;
width: 55px;
right: 0;
bottom: -60px;
}

}