@charset "utf-8";
/* CSS Document */
#fvImg {
    height: calc(100svh - 92px);
    position: relative;
}
#fvImg .txt{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 40px;
}
#fvImg #catch {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 40px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-size: 30px;
    z-index: 3;
	color: #fff;
}
#fvImg .txt p.catch{
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-size: 30px;
    z-index: 3;
	color: #fff;
}
#fvImg #catch span,#fvImg .txt p.catch span {
    display: block;
    font-size: 16px;
}
#fvImg .txt a{
	background: #fff;
	display: inline-block;
	font-size: 18px;
	padding:5px 20px;
	border-radius: 50px;
	color: #000;margin-top: 20px;
}
.inner {
    padding: 60px 20px;
}

#about #aboutSlider{
	padding: 60px 40px;
	position: relative;
}
#aboutSlider .swiper-button-next,
#aboutSlider .swiper-button-prev {
  color:#000 !important;
	background: #fff;
	border-radius: 50%;
	width:30px;
	height: 30px;
  box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.16);
}
#aboutSlider .swiper-button-next:after,
#aboutSlider .swiper-button-prev:after{
	font-size: 14px !important;
	font-weight: bold;
}
#about h2 {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-size: 30px;
    line-height: 1.6;
    margin-bottom: 40px;
}
#about h2 + p {
    margin-bottom: 40px;
}
#about #aboutTxt ul,#about .aboutBox ul {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 340px;
    margin: 0 auto 40px auto;
}
#about #aboutTxt ul li,#about .aboutBox ul li {
    width: 50%;
    padding: 0 20px;
}
#about #aboutTxt ul li img,#about .aboutBox ul li img {
    width: 100%;
    height: auto;
}
#about figure {
    display: none;
}
#about + #service .inner {
    padding-top: 0;
}
#service .inner .moreLinks{
	display: none;
}
#service .inner .moreLinks.active{
	display: block;
}
.contTit{
	font-size: 28px;
	text-align: center;
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 700;
	margin-bottom: 20px;
}
.baseTit {
    color: #907314;
    font-size: 16px;
    text-align: center;
}
.baseTit span:before {
    content: "";
    background: url("/common/img/index/tit_star.webp")center center no-repeat;
    background-size: 100%;
    display: inline-block;
    width: 20px;
    height: 20px;
    vertical-align: middle;
    margin: 0 3px 3px 0;
}
.engTit {
    text-align: center;
    font-size: 36px;
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    line-height: 1.4;
}
.baseTit.wh, .engTit.wh {
    color: #fff;
}
.baseTit.wh span:before {
    background: url("/common/img/index/tit_star_wh.webp")center center no-repeat;
    background-size: 100%;
}
.sortNav {
    margin: 30px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.sortNav li {
    background: #edeff2;
    border-radius: 50px;
    padding: 0 15px;
}
.sortNav li.current {
    background: #262629;
    color: #fff;
}
#service .list.newCard li{
	background: #fff;
}
#service .list.newCard > li{
	border: solid 1px #e2e2e2;
	width: 100%;
}
#service .list.newCard > li h3{
	font-size: 20px;
	text-align: left;
	padding: 20px 20px 0 20px;
	margin-bottom: 10px;
}
#service .list.newCard > li h3 + p{
	margin-bottom: 20px;
}
#service .list.newCard > li figure{
	position: relative;
}
#service .list.newCard > li figcaption{
	position: absolute;
	left: 10px;
	top: 10px;
	background: #565656;
	color: #fff;
	border-radius: 50px;
	padding: 2px 15px 2px 35px;
	font-size: 14px;
}
#service .list.newCard > li figcaption:before{
	content: "";
	width: 20px;
	height: 20px;
	background: url("../img/index/ico_recommend.webp")center center no-repeat;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
}
#service .list.newCard > li ul{
	padding: 0 20px 20px 20px;
}
#service .list.newCard > li ul li.time{
	background: url("../img/index/ico_time.webp")left center no-repeat;
	background-size: 20px;
	padding-left: 25px;
}
#service .list.newCard > li ul li.price span{
	font-size: 18px;
	font-weight: bold;
}
#service .list li {
    background: #f8f9fc;
}
#service .list > li.mix {
    display: none;
}
#service .list li figure {
    height: 185px;
    width: 100%;
}
#service .list li figure img {
    height: 185px;
    width: 100%;
    object-fit: cover;
}
#service .list li h3 {
    text-align: center;
    padding: 30px 0;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-size: 24px;
}
#service .list li p {
    padding: 0 20px;
	color: #5a5a5a;
}
#service .list li ul {
    display: flex;
    padding: 40px 20px 20px 20px;
    align-items: center;
}
#service .list li ul.single {
    justify-content: center;
}
#service .list > li:not(:last-of-type) {
    margin-bottom: 40px;
}
#service .list li ul li a.textLink {
    text-decoration: underline;
    color: #262629;
}
#service .list li ul li a.blackBtn {
    padding: 5px 40px;
}
#service .list li ul li a.grayBtn{
	padding: 5px 20px;
}
#service .list li ul li:nth-of-type(2) {
    margin-left: auto;
}
#fleet.newFleet{
	background: none;
}
#fleet.newFleet .contTit + p{
	margin-bottom: 20px;
}
#fleet.newFleet .contTit + p + .blackBtn{
	margin-bottom: 60px;
}
#fleet {
    background: #faf5ec;
}
#fleet .engTit + p {
    margin: 60px 0 40px 0;
}
#fleet .titImg {
    display: none;
}
#fleet ul li a {
    display: block;
    border: solid 1px #d0c297;
	background: #fff;
}
#fleet ul li:not(:last-of-type) {
    margin-bottom: 40px
}
#fleet ul li a img {
    width: 100%;
    height: auto;
    max-width: 400px;
    margin: 0 auto;
    display: block;
}
#fleet ul li a h3 {
    padding: 0 20px;
    font-size: 22px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
}
#fleet ul li a p {
    padding: 0 20px 20px 20px;
	color: #5a5a5a;
}
#fleet ul li a p span {
    color: #a18837;
    font-size: 14px;
    display: block;
    margin-bottom: 5px;
}
#fleet .blackBtn {
    margin-top: 40px;
}
#reviews {
    background: url("../img/index/reviews_bg.webp")center center no-repeat;
    background-size: cover;
}
#reviews .reviewSlide {
    margin-top: 40px;
}
#reviews .reviewBox {
    background: #fff;
    padding: 15px;
}
#reviews .reviewBox > div {
    padding: 15px;
    border: solid 1px #d2ccb9;
}
#reviews .reviewBox > div ul {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}
#reviews .reviewBox > div ul li img {
    width: 100%;
    height: auto;
}
#reviews .reviewBox > div ul li:first-of-type {
    width: 80px;
}
#reviews .reviewBox > div ul li:nth-of-type(2) {
    width: calc(100% - 100px);
    margin-left: 20px;
}
#reviews .reviewBox > div ul li {
    line-height: 1.4;
    font-size: 16px;
}
#reviews .reviewBox > div ul li span {
    display: block;
    font-size: 18px;
    color: #907314;
}
#reviews .reviewBox > div h3 span {
    font-family: "Noto Sans JP", Meiryo, 'メイリオ', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'Osaka', 'MS PGothic', arial, helvetica;
    font-weight: 400;
    color: #907314;
    font-size: 16px;
    display: block;
}
#reviews .reviewBox > div h3 {
    font-size: 20px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 20px;
}
#reviews .countBox {
    text-align: center;
    color: #fff;
    margin-top: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#reviews .countBox .slick-arrow {
    position: static;
    background: none;
    display: inline-block;
    border-left: solid 1px #fff;
    border-top: solid 1px #fff;
    border-radius: 0;
    width: 10px;
    height: 10px;
    margin-top: 0;
}
#reviews .countBox .slick-arrow.prev-arrow {
    transform: rotate(-45deg);
    margin-right: 10px;
    order: 1;
}
#reviews .countBox .slick-arrow.next-arrow {
    transform: rotate(135deg);
    margin-left: 10px;
    order: 3;
}
#reviews .countBox .slick-num {
    order: 2;
}
#plannnerPicks {
    background: #f2ebe1;
}
#plannnerPicks .baseTit, #plannnerPicks .engTit {
    text-align: left;
}
#plannnerPicks #pickSlide {
    margin-top: 60px;
}
#plannnerPicks .pickBox {
    position: relative;
    z-index: 1;
    padding: 10px;
}
#plannnerPicks .pickBox:before, #plannnerPicks .pickBox:after {
    content: "";
    background: url("/common/img/index/photo_texture_same.webp")center center no-repeat;
    background-size: cover;
    width: 220px;
    height: 160px;
    position: absolute;
    z-index: -1;
}
#plannnerPicks .pickBox:before {
    right: 0;
    top: 0;
}
#plannnerPicks .pickBox:after {
    left: 0;
    bottom: 0;
}
#plannnerPicks .pickBox .txtBox {
    padding: 40px 20px;
    background: #fff;
}
#plannnerPicks .pickBox .txtBox .blackBtn {
    margin-top: 20px;
}
#plannnerPicks .pickBox .txtBox h3 {
    font-size: 22px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    margin-bottom: 20px;
}
#plannnerPicks .pickBox figure {
    height: 250px;
    width: 100%;
}
#plannnerPicks .pickBox figure img {
    display: block;
    height: 250px;
    width: 100%;
    object-fit: cover;
}
#plannnerPicks .slick-arrow, #episode #episodeSlide .slick-arrow, #columnSlide .slick-arrow {
    background: url("/common/img/index/fleet_arrow.webp")center center no-repeat, #fff;
    background-size: 10px auto, 100%;
    box-shadow: 0px 3px 5px 0px rgba(0, 0, 0, 0.16);
}
#plannnerPicks .slick-arrow.prev-arrow, #episode #episodeSlide .slick-arrow.prev-arrow, #columnSlide .slick-arrow.prev-arrow {
    transform: scale(-1, 1);
    left: -10px;
}
#plannnerPicks .slick-arrow.next-arrow, #episode #episodeSlide .slick-arrow.next-arrow, #columnSlide .slick-arrow.next-arrow {
    right: -10px;
    left: auto;
}
#whyOutech {
    overflow: hidden;
}
#whyOutech.newChoose .inner{
	padding: 0 0 60px 0;
}
#whyOutech .inner {
    padding: 60px 0;
}
#whyOutech .inner .engTit {
    padding: 0 20px;
}
#whyOutech ul {
    overflow: auto;
    scroll-snap-type: x mandatory;
    display: flex;
    padding: 0 5vw;
}
#whyOutech ul li {
    width: 80vw;
    flex: none;
    padding: 0 5vw;
    scroll-snap-align: center;
}
#whyOutech ul li img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    max-width: 400px;
}
#whyOutech ul li h3 {
    text-align: center;
    font-size: 20px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    margin-bottom: 20px;
}
#episode {
    background: #f2ebe1;
}
#episode .engTit + p {
    margin: 40px 0;
}
#episode #episodeSlide .episodeBox,#report .episodeBox {
    background: #fff;
}
#episode #episodeSlide .episodeBox img,#report .episodeBox img {
    width: 100%;
    height: auto;
	display: block;
}
#episode #episodeSlide .episodeBox div,#report .episodeBox div {
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
}
#episode #episodeSlide .episodeBox div.opt,#report .episodeBox div.opt{
	padding: 0;
}
#episode #episodeSlide .episodeBox div .name,#report .episodeBox div .name {
    font-size: 20px;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
    margin-bottom: 10px;
    width: 100%;
}
#episode #episodeSlide .episodeBox div h3,#report .episodeBox div h3 {
    width: 100%;
    margin-bottom: 20px;
}
#episode #episodeSlide .episodeBox div time,#report .episodeBox div time {
    color: #000;
}
#episode #episodeSlide .episodeBox div .category,#report .episodeBox div .category {
    margin-left: 20px;
    color: #fff;
    border-radius: 50px;
    padding: 0 20px;
}
#episode #episodeSlide .episodeBox div .category.orange,#report .episodeBox div .category.orange {
    background: #da7d54
}
#episode #episodeSlide .episodeBox div .category.aqua,#report .episodeBox div .category.aqua {
    background: #89bcc0
}
#episode #episodeSlide .recruitBox {
    background: url("/common/img/index/planner_recruit.webp")center center no-repeat;
    background-size: cover;
}
#episode #episodeSlide .recruitBox a {
    display: block;
    padding: 40px;
    min-height: 410px;
    position: relative;
}
#episode #episodeSlide .recruitBox a h3 {
    color: #fff;
    font-size: 24px;
    text-align: center;
    font-weight: bold;
}
#episode #episodeSlide .recruitBox a .btn {
    background: #fff;
    border-radius: 50px;
    padding: 10px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    width: 240px;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
}
#episode .blackBtn {
    margin-top: 40px;
}
#safety {
    background: url("/common/img/index/safety_bg_smt.webp")center center no-repeat;
    background-size: cover;
}
#safety .engTit + p {
    color: #fff;
    margin: 30px 0;
}
.normalBtn {
    background: #9c8e49;
    color: #fff !important;
    padding: 10px;
    display: block;
    margin: 0 auto;
    max-width: 280px;
    text-align: center;
    border-radius: 50px;
    border: solid 2px #9c8e49;
}
.whiteBtn{
    background: #fff;
    color: #000 !important;
    padding: 10px;
    display: block;
    margin: 0 auto;
    max-width: 280px;
    text-align: center;
    border-radius: 50px;
    border: solid 2px #fff;
}
#news h2, #news p {
    text-align: left;
}
#news ul {
    margin: 40px 0;
}
#news ul li:not(:last-of-type) {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: solid 1px #d5cfbe;
}
#news ul li a {
    display: flex;
    height: 100%;
}
#news ul li a figure {
    width: 80px;
    display: block;
    margin-right: 20px;
    background: #000;
}
#news ul li a figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#news ul li a div {
    width: calc(100% - 100px);
}
#news ul li a time {
    color: #76767f;
    font-size: 14px;
}
#columns .inner {
    padding-top: 0;
}
#columns #columnSlide {
    padding: 40px 0;
}
#columns #columnSlide .columnBox {
    background: #fff;
    box-shadow: 5px 5px 8px 0 rgba(0, 0, 0, 0.1);
}
#columns #columnSlide .columnBox figure {
    height: 160px;
    width: 100%;
}
#columns #columnSlide .columnBox figure img {
    width: 100%;
    height: 160px;
    object-fit: cover;
}
#columns #columnSlide .columnBox h3 {
    padding: 20px;
    font-size: 18px;
}
#columns #columnSlide .columnBox div {
    padding: 0 20px 20px 20px;
}
#columns #columnSlide .columnBox div time {
    color: #616161;
    margin-bottom: 10px;
    display: block;
}
#columns #columnSlide .columnBox div ul {
    display: flex;
    gap: 2%;
    flex-wrap: wrap;
}
#columns #columnSlide .columnBox div ul li {
    color: #fff;
    padding: 0 20px;
    border-radius: 50px;
}
#columns #columnSlide .columnBox div ul li.send {
    background: #da7d54;
}
#columns #columnSlide .columnBox div ul li.sightseeing {
    background: #89bcc0;
}
#columns #columnSlide .columnBox div ul li.blog {
    background: #b9afa3;
}
#columns #columnSlide .columnBox div ul li.business {
    background: #344756;
}
#faq {
    background: #faf5ec;
}
#faq ul {
    margin: 40px 0;
}
#faq ul li {
    background: #fff;
    padding: 20px;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
}
#faq ul li:not(:last-of-type) {
    margin-bottom: 20px;
}
#faq ul li h3 {
    position: relative;
    padding: 0 40px;
}
#faq ul li h3 span:before {
    content: "Q";
    background: #907314;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    left: 0;
    top: 0;
    position: absolute;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
}
#faq ul li h3:before {
    content: "";
    width: 15px;
    height: 3px;
    background: #907314;
    position: absolute;
    right: 0;
    top: 13px;
}
#faq ul li h3:after {
    content: "";
    width: 3px;
    height: 15px;
    background: #907314;
    position: absolute;
    right: 6px;
    top: 7px;
}
#faq ul li h3.active:after {
    display: none;
}
#faq ul li p {
    margin-top: 20px;
    position: relative;
    padding-left: 40px;
    display: none;
}
#faq ul li p:before {
    content: "A";
    background: #344756;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    left: 0;
    top: 0;
    position: absolute;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 700;
}
.swiper-container {
  width: 100%;
	height: 100%;
}
.swiper-container .swiper-wrapper{
}
video {
        width: auto;
        height: 100%;
	  aspect-ratio: 16 / 9;
}
#fvImg .swiper-button-next,
#fvImg .swiper-button-prev {
  color:#fff !important;
	background: #a8a8a9;
	border-radius: 50%;
	width:30px;
	height: 30px;
}
#fvImg .swiper-button-next:after,
#fvImg .swiper-button-prev:after{
	font-size: 14px !important;
	font-weight: bold;
}
#fvImg .swiper-horizontal > .swiper-pagination-bullets,
#fvImg .swiper-pagination-bullets.swiper-pagination-horizontal{
	width: 60% !important;
	left: 50%;
	transform: translateX(-50%);
}
#fvImg .swiper-pagination-bullet{
	/** 動画スライド枚数変更 **/
	width:23.5%;
	border-radius: 0;
	margin: 0 !important;
	height: 3px;
	background: rgba(255,255,255,0.2) !important;
	opacity: 1 !important;
}
#fvImg .swiper-pagination.fourth .swiper-pagination-bullet{
	width:23.5%;
}
#fvImg .swiper-pagination-bullet:not(:last-of-type){
	margin-right: 2% !important;
}
#fvImg .swiper-pagination-bullet-active{
	position: relative;
	background: rgba(255,255,255,1) !important;
}
#fvImg .swiper-pagination-bullet-active:after{
	content: "";
	width: var(--progress, 0%);
	height: 100%;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0;
	opacity: 1;
}
.swiper-pagination-bullet {
  position: relative;
  width: 12px;
  height: 12px;
  background: #ccc;
  border-radius: 50%;
  overflow: hidden;
}

.swiper-pagination-bullet .progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 0%;
  background-color: #fff;
  transition: width 0.1s linear;
}
.swiper-slide img{
	width: 100%;
  height: 100%;
  object-fit: cover;
}
#businessBlock{
	background: #000;
}
#businessBlock figure{
	height: 270px;
	width: 100%;
}
#businessBlock figure img{
	width: 100%;
	height: 270px;
	object-fit: cover;
	object-position: left;
}
#businessBlock div{
	padding: 40px;
}
#businessBlock div .contTit{
	color: #fff;
	text-align: left;
}
#businessBlock div .contTit + p{
	color: #fff;
	margin-bottom: 40px;
}
#businessBlock div ul{
	display: flex;
}
#businessBlock div ul li{
	width: 40%;
}
	#businessBlock div ul li a{
		margin: 0 !important;
	}
#businessBlock div ul li:last-of-type{
	margin-left:40px;
}
#newReviews{
	background: #f2ebe1;
}
#report{
	background: #f2ebe1;
}
#report .contTit{
	margin-bottom: 20px;
}
#report .contTit + p{
	margin-bottom: 30px;
}
#report #reportHead{
	margin-bottom: 40px;
}
#newsTopics ul{
	margin-bottom: 20px;
}
#newsTopics ul li{
	padding: 20px 0;
}
#newsTopics ul li:not(:last-of-type){
	border-bottom: solid 1px #d5cfbe;
}
#newsTopics ul li time{
	color: #76767f !important;
}
#moreOutech{
	background: #f2ebe1;
}
#moreOutech .contTit{
	margin-bottom: 30px;
}
#moreOutech ul li{
	position: relative;
}
#moreOutech ul li:not(:last-of-type){
	margin-bottom: 40px;
}
#moreOutech ul li div{
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 20px;
	width: 100%;
}
#moreOutech ul li div .eng{
	font-size: 34px;
	color: #fff;
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 700;
	line-height: 1.4;
}
#moreOutech ul li div h3{
	color: #fff;
	font-size:16px;
	font-weight: normal;
	margin-bottom: 20px;
}

#moreOutech ul li div time{
	color: #fff;
}
#moreOutech ul li figure{
	width: 100%;
	height: 370px;
}
#moreOutech ul li figure img{
	width: 100%;
	height: 370px;
	object-fit: cover;
}
#moreOutech ul li .whiteBtn{
	max-width: 120px;
	padding: 5px;
	margin: 0;
}
#reviewStar{
	padding: 20px;
}
#reviewStar ul{
	display: flex;
}
#reviewStar ul li{
	width: 48%;
	display: flex;
	align-items: center;
}
#reviewStar ul li .logo{
	width: 50px;
	height: auto;
}
#reviewStar ul li div{
	width: calc(100% - 60px);
	margin-left: 10px;
}
#reviewStar ul li div img{
	height: 14px;
	width: auto;
	display: block;
	margin-bottom: 5px;
}
#reviewStar ul li div p{
	font-size: 14px;
	line-height: 1.2;
}
#reviewStar ul li div p a{
	font-size: 12px;
	color: #999;
}
#reviewStar ul li:first-of-type{
	margin-right: 4%;
}
#topFvImg{
	height: 50vh;
	position: relative;
}
#topFvImg #fixText{
	position: relative;
	height: 100%;
}
#topFvImg #fixText #fvCatch{
	position: absolute;
	padding:0 0 0 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}
#topFvImg #fixText #fvCatch h2{
	font-size: 26px;
	color: #fff;
	font-family: "source-han-serif-japanese", serif;
	font-weight: 700;
	font-style: normal;
}
#topFvImg #fixText #fvCatch p{
	font-size: 16px;	
	color: #fff;
	font-family: "source-han-serif-japanese", serif;
	font-weight: 700;
	font-style: normal;
}
#topFvImg #fixText.eng #fvCatch{
	top: 45%;
}
#topFvImg #fixText.eng #fvCatch p{
	display: none;
}
#topFvImg #fixText #reviewLogos{
	display: flex;
	align-items:flex-end;
	position: absolute;
	left: 20px;
	bottom: 20px;
}
#topFvImg #fixText #reviewLogos > img{
	width: 65px;
	height: auto;
}
#topFvImg #fixText #reviewLogos ul{
	display: flex;
	flex-wrap: wrap;
	margin-left: 20px;
}
#topFvImg #fixText #reviewLogos ul li{
	color: #fff;
	font-size: 14px;
	line-height: 1.4;
}
#topFvImg #fixText.eng #reviewLogos ul li{
	font-size: 12px;
}
#topFvImg #fixText #reviewLogos ul li:last-of-type{
	width: 100%;
}
#topFvImg #fixText #reviewLogos ul li:not(:last-of-type){
	margin-right: 10px;
}
#topFvImg #fixText #reviewLogos ul li:not(:last-of-type) img{
	height: 20px;
	width: auto;
}
#topFvImg #fixText #reviewLogos ul li:last-of-type img{
	height: 14px;
	width: auto;
	display: inline-block;
	margin-right: 5px;
}
#topFvImg .fvSlider{
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	z-index: -1;
	width: 100%;
	overflow: hidden;
}
#topFvImg .fvSlider .sliderWrap{
  margin: 0;
  padding: 0;
}
#topFvImg .fvSlider img {
  width: 100%;
  height: 50vh;
  object-fit: cover;
}
#topFvImg .fvSlider picture{
display:block;
}
@media screen and (min-width: 1081px) {
    #fvImg {
		background: #000;
        height: calc(100svh - 192px);
        position: relative;
    }
    #fvImg #catch {
        width: 100%;
        max-width: 1700px;
        padding: 0 100px;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 64px;
    }
    #fvImg #catch span {
        font-size: 24px;
    }
#fvImg .txt{
        width: 100%;
        max-width: 1700px;
        padding: 0 100px;
        left: 50%;
        transform: translate(-50%, -50%);
}
#fvImg .txt p.catch{
        font-size: 64px;
}
#fvImg .txt p.catch span {
        font-size: 24px;
}
	#fvImg.engTop #catch,#fvImg.engTop .txt p.catch{
		font-size: 54px;
	}
#fvImg .txt a{
	font-size: 20px;
		padding: 5px 40px;
}
	#fvImg .txt a:hover{
		background: #000;
		color: #fff;
	}
    .inner {
        max-width: 1600px;
        padding: 60px 100px;
        margin: 0 auto;
    }
    #about {
        position: relative;
    }
	#about #aboutSlider{
        padding: 200px 100px;
        max-width: 1700px;
        margin: 0 auto;
    }
	#about #aboutSlider .aboutBox{
        display: flex;
        align-items: flex-start;
	}
	#aboutSlider .swiper-button-next{
		right: 40px;
	}
	#aboutSlider .swiper-button-prev{
		left: 40px;
	}
#aboutSlider .swiper-button-next,
#aboutSlider .swiper-button-prev {
	width:50px;
	height: 50px;
}
#aboutSlider .swiper-button-next:after,
#aboutSlider .swiper-button-prev:after{
	font-size: 16px !important;
}
    #about .inner {
        display: flex;
        align-items: flex-start;
        padding: 200px 100px;
    }
    #about:before {
        content: "";
        width: 100%;
        max-width: 80%;
        background: url("/common/img/index/bg_pattern01.webp")right top no-repeat;
        background-size: 100% auto;
        position: absolute;
        right: 0;
        top: 0;
        height: 100%;
        z-index: -1;
    }
    #about .aboutBox .aboutTxtBox,
    #about #aboutTxt {
        width: 50%;
        padding-right: 60px;
    }
    #about h2 {
        font-size: 42px;
    }
    #about h2 + p {
        font-size: 18px;
    }
    #about #aboutTxt ul,#about .aboutBox ul {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        max-width: 460px;
        margin: 0 0 40px 0;
    }
    #about #aboutTxt ul li,#about .aboutBox ul li {
        width: 50%;
        padding: 0 50px 0 0;
    }
    #about #aboutTxt .blackBtn,#about .aboutBox .blackBtn {
        margin: 0;
        font-size: 18px;
    }
    #about figure {
        display: block;
        width: 50%;
    }
    #about figure img {
        width: 100%;
        height: auto;
    }
    #about + #service .inner {
        padding: 0 60px;
    }
	.contTit{
		font-size: 50px;
	}
	.contTit + p{
		font-size: 18px;
		text-align: center;
	}
    .baseTit {
        font-size: 18px;
    }
    .baseTit span:before {
        width: 24px;
        height: 24px;
    }
    .engTit {
        font-size: 48px;
        line-height: 1.2;
    }
    .sortNav {
        margin: 80px 0;
		justify-content: center;
    }
    .sortNav li {
        padding: 0 30px;
        font-size: 18px;
    }
	.sortNav.large li{
		font-size: 22px;
	}
    #service {
        position: relative;
        z-index: 2;
    }
    #service .list {
        display: flex;
        flex-wrap: wrap;
    }
	#service .list.newCard{
		max-width: 1400px;
		margin: 0 auto;
	}
	#service .list.newCard > li{
		padding-bottom: 50px;
        width: 31.33333%;
	}
	#service .list.newCard > li h3{
		font-size: 22px;
	}
	#service .list.newCard > li h3 + p{
		padding: 0 20px;
	}
	#service .list.newCard > li ul{
		padding: 20px;
		height: auto;
	}
    #service .list > li {
        width: 31.33333%;
        margin: 0 1%;
        padding-bottom: 100px;
        position: relative;
        margin-bottom: 2% !important;
        overflow: hidden;
    }
    #service .list > li figure img {
        transition: all 0.2s;
    }
    #service .list > li:hover figure img {
        transform: scale(1.07);
    }
    #service .list > li figure {
        overflow: hidden;
    }
    #service .list li figure {
        height: 220px;
        display: block;
    }
    #service .list li figure img {
        height: 220px;
    }
    #service .list li p {
        padding: 0 40px;
        font-size: 18px;
    }
    #service .list li ul {
        position: absolute;
        bottom: 0;
        width: 100%;
        left: 0;
        padding: 40px;
        height:100px;
    }
    #service .list li ul.single li {
        text-align: center;
    }
    #service .list li ul li {
        font-size: 18px;
    }
    #service .list li ul li a.blackBtn {
        min-width: 140px;
    }
    #service .list li ul li a.textLink:hover {
        text-decoration: none;
    }
    #fleet {
        position: relative;
        z-index: 1;
    }
	#fleet.newFleet{
		background: none;
	}
	#fleet.newFleet:before{
		display: none;
		
	}
    #fleet:before {
        content: "";
        width: 100%;
        height: 800px;
        position: absolute;
        background: url("/common/img/index/bg_pattern02.webp")left top no-repeat, #faf5ec;
        background-size: 75% auto, 100%;
        top: -300px;
        z-index: -1;
    }
    #fleet .inner {
        padding: 100px 60px;
        position: relative;
        z-index: 1;
    }
    #fleet .engTit + p {
        margin: 60px auto 40px auto;
        font-size: 18px;
        max-width: 1080px;
    }
    #fleet .titImg {
        display: block;
        width: 100%;
        height: 300px;
    }
    #fleet .titImg img {
        width: 100%;
        height: 300px;
        object-fit: cover;
    }
    #fleet ul {
        padding: 30px;
        display: flex;
        flex-wrap: wrap;
    }
    #fleet ul li {
        width: calc(50% - 15px);
    }
    #fleet ul li:nth-of-type(even) {
        margin-left: 30px;
    }
    #fleet ul li a {
        border-top: none;
        border-left: none;
        border-right: none;
        border-width: 2px;
        display: flex;
        align-items: center;
        position: relative;
        padding: 20px 100px 20px 0;
        height: 100%;
		background: none;
    }
    #fleet ul li a:hover {
        background: #fff;
    }
    #fleet ul li a:hover h3 {
        color: #907314;
    }
    #fleet ul li a:hover:after {
        background: url("/common/img/index/fleet_arrow_hover.webp")center center no-repeat;
		background-size: 100%;
    }
    #fleet ul li a:after {
        content: "";
        background: url("/common/img/index/fleet_arrow.webp")center center no-repeat;
		background-size: 100%;
        width: 15px;
        height: 24px;
        position: absolute;
        right: 40px;
        top: 50%;
        transform: translateY(-50%);
        transition: all 0.2s;
    }
    #fleet ul li:not(:last-of-type) {
        margin-bottom: 0
    }
    #fleet ul li a img {
        max-width: 240px;
        margin: 0;
    }
    #fleet ul li a h3 {
        padding: 0;
        font-size: 24px;
        transition: all 0.2s;
    }
    #fleet ul li a p {
        padding: 0;
        font-size: 16px;
    }
    #fleet ul li a p span {
        font-size: 16px;
    }
    #fleet .blackBtn {
        font-size: 18px;
    }
    #reviews .reviewSlide {
        margin-top: 100px;
    }
    #reviews .reviewBox {
        padding: 20px;
    }
    #reviews .reviewBox > div {
        padding: 20px;
    }
    #reviews .reviewBox > div ul li:first-of-type {
        width: 100px;
    }
    #reviews .reviewBox > div ul li:nth-of-type(2) {
        width: calc(100% - 120px);
    }
    #reviews .reviewBox > div ul li span {
        font-size: 24px;
    }
    #reviews .reviewBox > div h3 span {}
    #reviews .reviewBox > div h3 {
        font-size: 24px;
    }
    #reviews .reviewBox > div p {
        font-size: 16px;
	color: #5a5a5a;
    }
    #reviews .countBox {
        text-align: center;
        color: #fff;
        margin-top: 40px;
    }
    #plannnerPicks {
        position: relative;
        z-index: 1;
    }
    #plannnerPicks .inner {
        padding: 140px 100px;
    }
    #plannnerPicks:before {
        content: "";
        background: url("/common/img/index/bg_pattern03.webp")left top repeat-y;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        z-index: -1;
    }
    #plannnerPicks #pickSlide {
        margin-top: 80px;
    }
    #plannnerPicks .pickBox {
        display: flex;
        align-items: stretch;
        padding: 15px;
    }
    #plannnerPicks .pickBox:before, #plannnerPicks .pickBox:after {
        width: 400px;
        height: 300px;
    }
    #plannnerPicks .pickBox .txtBox {
        padding: 60px 100px;
        width: 50%;
		order: 1;
    }
    #plannnerPicks .pickBox .txtBox .blackBtn {
        margin-top: 50px;
        font-size: 18px;
    }
    #plannnerPicks .pickBox .txtBox h3 {
        font-size: 32px;
        text-align: center;
        margin-bottom: 40px;
    }
    #plannnerPicks .pickBox .txtBox p {
        font-size: 18px;
    }
    #plannnerPicks .pickBox figure {
        width: 50%;
        height: auto;
		order: 2;
    }
    #plannnerPicks .pickBox figure img {
        display: block;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
#whyOutech.newChoose .inner{
        padding:0 50px 140px 50px;
}
    #whyOutech .inner {
        padding: 140px 50px;
    }
    #whyOutech .inner .engTit {
        padding: 0;
    }
    #whyOutech ul {
        width: 100%;
        padding: 0;
        margin-top: 60px;
    }
    #whyOutech.newChoose ul li {
        width: 30%;
        margin-right: 5%;
    }
    #whyOutech ul li {
        width: 22.75%;
        padding: 0;
        margin-right: 3%;
    }
    #whyOutech ul li:last-of-type {
        margin-right: 0;
    }
    #whyOutech ul li h3 {
        font-size: 18px;
    }
    #episode {
        position: relative;
        z-index: 1;
    }
    #episode .inner {
        padding: 140px 100px;
    }
    #episode:before {
        content: "";
        background: url("/common/img/index/bg_pattern04.webp") right top repeat-y;
        width: 100%;
        height: 100%;
        position: absolute;
        right: 0;
        top: 0;
        z-index: -1;
    }
    #episode .engTit + p {
        max-width: 840px;
        margin: 40px auto;
        font-size: 18px;
    }
    #episode #episodeSlide .slick-track {
        display: flex;
    }
    #episode #episodeSlide .slick-slide {
        height: auto !important;
    }
    #episode #episodeSlide .episodeBox a > div,#report .episodeBox a > div {
        padding: 50px;
		align-items: center;
    }
    #episode #episodeSlide .episodeBox figure,#report .episodeBox figure {
        position: relative;
    }
    #episode #episodeSlide .episodeBox a figure:before,#report .episodeBox a figure:before {
        transition: all 0.2s;
        content: "";
        width: 100%;
        height: 100%;
        background: #000;
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0;
    }
    #episode #episodeSlide .episodeBox a:hover figure:before,#report .episodeBox a:hover figure:before {
        opacity: 0.5;
    }
    #episode #episodeSlide .episodeBox div .name,#report .episodeBox div .name {
        font-size: 24px;
    }
    #episode #episodeSlide .episodeBox div h3,#report .episodeBox div h3 {
        font-size: 18px;
    }
    #episode #episodeSlide .episodeBox div .category,#report .episodeBox div .category {
        font-size: 18px;
        padding: 5px 30px;
    }
    #episode #episodeSlide .recruitBox {
        position: relative;
        z-index: 1;
    }
    #episode #episodeSlide .recruitBox:before {
        transition: all 0.2s;
        content: "";
        width: 100%;
        height: 100%;
        background: #000;
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0;
    }
    #episode #episodeSlide .recruitBox:hover:before {
        opacity: 0.3;
    }
    #episode #episodeSlide .recruitBox a {
        height: 100%;
        padding: 110px 0;
    }
    #episode #episodeSlide .recruitBox a h3 {
        font-size: 32px;
        font-weight: normal;
    }
    #episode #episodeSlide .recruitBox a .btn {
        font-size: 18px;
        bottom: 80px;
    }
    #episode .blackBtn {
        margin-top: 100px;
        font-size: 18px;
    }
    #safety {
        background: url("/common/img/index/safety_bg.webp")center center no-repeat;
        background-size: cover;
    }
    #safety .inner {
        padding: 140px 100px;
    }
    #safety .inner h2, #safety .inner p {
        text-align: left;
    }
    #safety .engTit + p {
        font-size: 20px;
        padding-right: 70%;
        margin: 50px 0 80px 0;
    }
    .normalBtn {
        font-size: 18px;
        margin: 0;
        padding: 15px 20px;
        max-width: 390px;
    }
    .normalBtn:hover {
        background: #fff;
        color: #9C8E49 !important;
    }
.whiteBtn{
        font-size: 18px;
        margin: 0;
        padding: 15px 20px;
        max-width: 390px;
}
	.whiteBtn:hover{
		background: #000;
		color: #fff !important;
	}
    #news {
        position: relative;
        z-index: 1;
    }
    #news:before {
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        background: url("/common/img/index/bg_pattern01.webp")right top no-repeat;
        background-size: 75% auto, 100%;
        top: 0;
        z-index: -1;
    }
    #news .inner {
        padding: 160px 100px;
    }
    #news ul {
        padding-left: 240px;
        margin: 80px 0;
    }
    #news ul li {
        margin-bottom: 25px;
        padding-bottom: 25px;
        border-bottom: solid 1px #d5cfbe;
    }
    #news ul li a figure {
        width: 345px;
        margin-right: 30px;
    }
    #news ul li a div {
        width: calc(100% - 375px);
    }
    #news ul li a time {
        font-size: 20px;
    }
    #news ul li a p {
        padding-top: 20px;
        font-size: 18px;
    }
    #news ul li a:hover p {
        text-decoration: underline;
    }
    #news ul li a figure {
        position: relative;
    }
    #news ul li a figure:before {
        content: "";
        background: #000;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        opacity: 0;
        transition: all 0.2s;
    }
    #news ul li a:hover figure:before {
        opacity: 0.4;
    }
    #columns {
        position: relative;
        z-index: 2;
    }
    #columns #columnSlide {
        padding: 130px 0 60px 0;
    }
    #columns #columnSlide .columnBox {
        margin-bottom: 40px;
    }
    #columns #columnSlide .columnBox figure, #columns #columnSlide .columnBox figure img {
        height: 320px;
        overflow: hidden;
        transition: all 0.2s;
    }
    #columns #columnSlide .columnBox h3 {
        padding: 40px;
        font-size: 20px;
    }
    #columns #columnSlide .columnBox div {
        padding: 0 40px 40px 40px;
    }
    #columns #columnSlide .columnBox div time {
        font-size: 18px;
        margin-bottom: 15px;
    }
    #columns #columnSlide .columnBox div ul li {
        font-size: 18px;
    }
    #columnSlide .columnBox:hover a figure img {
        transform: scale(1.1);
    }
    #columnSlide .columnBox:hover {
        animation: columnAnim 2s;
    }
    #columnSlide .slick-arrow.prev-arrow {
        left: -30px;
    }
    #columnSlide .slick-arrow.next-arrow {
        right: -30px;
    }
    #faq {
        position: relative;
        z-index: 1;
        padding-bottom: 740px;
    }
    #faq:after {
        content: "";
        width: 100%;
        height: 740px;
        background: url("../../common/img/index/bot_img.webp")left top no-repeat;
        background-size: cover;
        position: absolute;
        left: 0;
        bottom: 0;
    }
    #faq:before {
        content: "";
        width: 100%;
        height: 1000px;
        position: absolute;
        background: url("/common/img/index/bg_pattern02.webp")left top no-repeat, #faf5ec;
        background-size: 75% auto, 100%;
        top: -300px;
        z-index: -1;
    }
    #faq ul {
        max-width: 1050px;
        padding: 0 60px;
        margin: 80px auto;
    }
    #faq ul li {
        background: #fff;
        padding: 30px 70px;
    }
    #faq ul li:not(:last-of-type) {
        margin-bottom: 20px;
    }
    #faq ul li h3 {
        position: relative;
        padding: 0 70px;
        font-size: 18px;
		cursor: pointer;
    }
    #faq ul li h3 span:before {
        width: 50px;
        height: 50px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 28px;
    }
    #faq ul li h3:before {
        width: 23px;
        height: 5px;
        top: 50%;
        transform: translateY(-50%);
    }
    #faq ul li h3:after {
        width: 5px;
        height: 23px;
        right: 9.5px;
        top: 50%;
        transform: translateY(-50%);
    }
    #faq ul li p {
        margin-top: 40px;
        padding-left: 70px;
        font-size: 18px;
    }
    #faq ul li p:before {
        width: 50px;
        height: 50px;
        font-size: 28px;
        top: 0px;
    }
video {
        width: 100%;
        height: auto;
	  aspect-ratio: 16 / 9;
}
#fvImg .swiper-button-next,
#fvImg .swiper-button-prev {
	width:40px;
	height: 40px;
}
#fvImg .swiper-horizontal > .swiper-pagination-bullets,
#fvImg .swiper-pagination-bullets.swiper-pagination-horizontal{
	width: 30% !important;
	bottom: 40px;
}
#fvImg .swiper-pagination-bullet-active{
	background: rgba(255,255,255,0.2) !important;
}
#businessBlock{
	background: #000;
	position: relative;
}
#businessBlock figure{
	height: 100%;
	width: 56%;
	position: absolute;
	right: 0;
	top: 0;
}
#businessBlock figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left;
}
#businessBlock div{
        max-width: 1640px;
        padding: 60px 120px;
	margin: 0 auto;
}
	#businessBlock.eng div .contTit{
		font-size: 36px;
	}
#businessBlock div .contTit + p{
	text-align: left;
	max-width: 380px;
}
	#businessBlock div ul{
		max-width: 380px;
	}
#report .inner{
	display: flex;
	align-items: center;
	max-width: 1300px;
	padding: 30px 100px;
}
	#report .baseTit{
		text-align: left;
	}
#report .contTit{
	margin-bottom: 40px;
	text-align: left;
	line-height: 1.2;
}
	#report .contTit + p{
		text-align: left;
	}
#report #reportHead{
	margin-bottom: 0;
	width: 45%;
	margin-right: 2%;
}
	#report #reportHead .blackBtn{
		margin: 0;
	}
	#report .episodeBox{
		max-width:460px;
		width: 45%;
		margin-left: auto;
	}
	#newsTopics .inner{
		max-width: 1040px;
	}
#newsTopics ul{
	margin: 40px 0 60px 0;
	border-top: solid 1px #d5cfbe;
	border-bottom:  solid 1px #d5cfbe;
}
#newsTopics ul li a{
	display: flex;
	align-items: center;
	padding: 0 20px;
}
#newsTopics ul li time{
	width: 160px;
	font-size: 18px;
}
	#newsTopics ul li p{
		width: calc(100% - 160px);
	font-size: 18px;
	}
	#newsTopics ul li a:hover p{
		text-decoration: underline;
	}
#moreOutech .contTit{
	margin-bottom: 60px;
}
	#moreOutech ul{
		display: flex;
	}
#moreOutech ul li{
	width: 32%;
}
#moreOutech ul li:not(:last-of-type){
	margin-bottom:0;
	margin-right: 2%;
}
#moreOutech ul li div{
	padding: 30px;
}
#moreOutech ul li div .eng{
	font-size:40px;
}
#moreOutech ul li div h3{
	font-size:20px;
}

#moreOutech ul li figure{
	width: 100%;
	height: 580px;
}
#moreOutech ul li figure img{
	height: 580px;
}
#reviewStar{
	padding: 40px;
}
#reviewStar ul{
	display: flex;
	justify-content: center;
	width: 600px;
	margin: 0 auto;
}
#reviewStar ul li .logo{
	width: 80px;
}
#reviewStar ul li div{
	width: calc(100% - 90px);
	margin-left: 10px;
}
#reviewStar ul li div img{
	height: 22px;
}
#reviewStar ul li div p{
	font-size: 16px;
	line-height: 1.4;
}
#topFvImg{
	height: 600px;
}
	#topFvImg #fixText{
        max-width: 1600px;
        padding: 0 100px;
        margin:0 auto;
	}
#topFvImg #fixText #fvCatch{
	padding:0;
	top: 40%;
}
#topFvImg #fixText #fvCatch h2{
	font-size:60px;
	line-height: 1.6;
}
#topFvImg #fixText #fvCatch p{
	font-size: 22px;
	line-height: 1.6;
}
#topFvImg #fixText.eng #fvCatch{
	top: 40%;
	transform:translateY(-50%);
}
#topFvImg #fixText.eng #fvCatch p{
	display: block;
	font-size: 24px;
	font-style: italic;
	font-weight: normal;
}
#topFvImg #fixText #reviewLogos{
	left: auto;
	bottom: 70px;
}
#topFvImg #fixText #reviewLogos > img{
	width: 110px;
}
#topFvImg #fixText #reviewLogos ul li{
	font-size: 20px;
}
#topFvImg #fixText.eng #reviewLogos ul li{
	font-size: 16px;
}
#topFvImg #fixText #reviewLogos ul li:not(:last-of-type) img{
	height: 40px;
	width: auto;
}
#topFvImg #fixText #reviewLogos ul li:last-of-type img{
	height: 20px;
	margin-bottom: -3px;
}
	#topFvImg .fvSlider picture{
		width: 100%;
		height: 700px;
	}
#topFvImg .fvSlider img{
	width: 100%;
	height: 600px;
}
}
@media screen and (min-width: 1334px) {
#whyOutech.newChoose .inner{
        padding:0 100px 140px 100px;
}
    #whyOutech .inner {
        padding: 140px 100px;
    }
    #whyOutech ul li h3 {
        font-size: 24px;
    }
    #whyOutech ul li h3 + p {
        font-size: 18px;
    }
}
@keyframes columnAnim {
    0%, 10%, 30%, 50% {
        transform: scale(1.0);
    }
    20%, 40% {
        transform: scale(0.95);
    }
}