@charset "utf-8";
/*
	Description: initial setting
	Version: 1.0
	Author: idealgrow
*/
/*
===== CONTENTS ===========================================

	1: BASE LAYOUT

==========================================================
*/
/*
===== 1: BASE LAYOUT =====================================
*/
#wrapper {
    overflow: hidden;
}
header #headLang {
    background: #1a1a1a;
    padding: 10px;
    height: 49px;
}
header #headLang #langIn {
    display: flex;
    align-items: center;
}
header #headLang p {
    color: #fff;
    font-size: 13px;
}
header #headLang .langSelect {
    margin-left: auto;
}
header #headLang .langSelect select {
    background: #fff;
    padding: 5px;
    font-size: 13px;
    font-weight: normal;
}
header #headBody {
    padding: 10px;
    background: #000;
    position: relative;
    min-height: 74px;
}
header #headBody #logo {
    width: 120px;
    height: auto;
}
header #headBody #logo img {
    width: 100%;
    height: auto;
}
header #navTrigger {
    width: 18px;
    position: absolute;
    right: 20px;
    top: 26px;
    z-index: 100;
    height: 16px;
    display: flex;
    align-items: center;
}
header #navTrigger span {
    background: #fff;
    display: block;
    height: 2px;
    width: 100%;
}
header #navTrigger span:before {
    content: "";
    background: #fff;
    height: 2px;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    transition: all 0.2s;
}
header #navTrigger span:after {
    content: "";
    background: #fff;
    height: 2px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 0.2s;
}
header #navTrigger.active span {
    background: none;
}
header #navTrigger.active span:before {
    transform: rotate(45deg);
    top: 50%;
}
header #navTrigger.active span:after {
    transform: rotate(-45deg);
    top: 50%;
}
header nav {
    width: 100%;
    position: absolute;
    left: 0;
    top: 79px;
    padding: 10px 20px;
    background: #fff;
    display: none;
    z-index: 200;
}
header nav > ul > li {
    border-bottom: solid 1px #d2d2d2;
}
header nav ul li {
    font-size: 18px;
}
header nav ul li span.navTit {
    position: relative;
    padding: 10px 5px;
    display: block;
}
header nav ul li span.navTit:before {
    content: "";
    width: 1px;
    background: #000;
    height: 11px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}
header nav ul li span.navTit:after {
    content: "";
    width: 11px;
    background: #000;
    height: 1px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}
header nav ul li span.navTit.active:before {
    display: none;
}
header nav ul li a.navTit {
    padding: 10px 5px;
    display: block;
}
header nav ul li div {
    display: none;
}
header nav ul li ul {
    padding-left: 15px;
    padding-bottom: 10px;
}
header nav ul li ul li a {
    display: block;
    padding: 5px;
}
header #headQuote {
    margin-top: 20px;
}
header #headQuote a {
    background: #927e2a;
    display: block;
    text-align: center;
    font-size: 18px;
    padding: 10px;
    border-radius: 5px;
    color: #fff !important;
    font-weight: bold;
}
#breadCrumbs {
    border-top: solid 1px #ddd;
    padding: 5px 15px;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
}
#breadCrumbs ol {
    display: table;
    padding-right: 15px;
}
#breadCrumbs ol li {
    font-size: 14px;
    display: table-cell;
    white-space: nowrap;
    vertical-align: middle;
    padding-right: 26px;
    position: relative;
}
#breadCrumbs ol li a {
    color: #1276e6 !important;
}
#breadCrumbs ol li:last-child {
    padding-right: 0;
}
#breadCrumbs ol li:last-child:after {
    display: none;
}
#breadCrumbs ol li:after {
    position: absolute;
    content: '>';
    top: 50%;
    transform: translateY(-50%);
    right: 8px;
}
#headTit {
    padding: 30px 10px;
}
#headTit.quote {
    background: url("../img/quote/title_bg.webp")center center no-repeat;
    background-size: cover;
}
#headTit.tokyokanko {
    background: url("../img/tokyo-kanko/title_bg.webp")center center no-repeat;
    background-size: cover;
}
#headTit.spot {
    background: url("../img/tokyo-kanko/spot_title_bg.webp")center center no-repeat;
    background-size: cover;
}
#headTit.airport {
    background: url("../img/airport/title_bg.webp")center center no-repeat;
    background-size: cover;
}
#headTit.fleet {
    background: url("../img/fleet/title_bg.webp")center center no-repeat;
    background-size: cover;
}
#headTit.company {
    background: url("../img/company/title_bg.webp")center center no-repeat;
    background-size: cover;
}
#headTit h1, #headTit p {
    font-size: 24px;
    font-weight: bold;
    color: #fff;
}
.inner, .minInner {
    padding: 15px;
}
#footContact {
    background: url("../img/shared/foot_contact_bg.webp")center center no-repeat;
    background-size: cover;
    padding: 30px 20px;
    margin-top: 40px;
}
#footContact.indexFoot{
	background: none;
	margin-top: 0;
}
#footContact.indexFoot h2,
#footContact.indexFoot p,
#footContact.indexFoot p a{
	color: #000;
}
#footContact.indexFoot p a:before{
    background: url("../img/shared/ico_tel_bk.webp")center center no-repeat;
    background-size: cover;
}
#footContact h2 {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    margin-bottom: 10px;
}
#footContact p {
    text-align: center;
    color: #fff;
    margin-bottom: 20px;
}
#footContact p a {
    color: #fff;
    font-weight: bold;
    font-size: 18px;
}
#footContact p a:before {
    content: "";
    background: url("../img/shared/ico_tel.webp")center center no-repeat;
    background-size: cover;
    width: 20px;
    height: 20px;
    display: inline-block;
    margin-right: 5px;
    margin-top: 10px;
    margin-bottom: -3px
}
#footContact .baseBtn {
    font-size: 16px;
    max-width: 430px;
    margin: 0 auto;
}
#footContact .baseBtn:before {
    content: "";
    background: url("../img/shared/ico_mail.webp")center center no-repeat;
    background-size: 100%;
    width: 20px;
    height: 20px;
    display: inline-block;
    margin: 0 5px -5px 0;
}
footer{
	background: #f4f4f4;
}
footer #footTop{
	padding: 20px;
}
footer #footTop ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
footer #footTop ul li{
	position: relative;
}
footer #footTop ul li a{
	display: block;
	padding: 5px 10px;
}
footer #footTop ul li:after{
	content: "";
	background: #000;
	width: 1px;
	height: 16px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
footer #footTop ul li:last-of-type:before{
	content: "";
	background: #000;
	width: 1px;
	height: 16px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
footer #footTop .langSelect{
	width: 160px;
	margin:10px auto 0 auto;
	position: relative;
}
footer #footTop .langSelect select{
	background: #fff;
	border: solid 1px #989898;
	padding: 10px;
	font-weight: normal;
	font-size: 14px;
}
footer #footTop .langSelect:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 5px 0 5px;
        border-color: #767676 transparent transparent transparent;
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        pointer-events: none;
    }
footer #footCopy{
	border-top: solid 1px #c1c1c1;
	padding: 20px;
}
footer #footCopy p{
	font-size: 14px;
	text-align: center;
}
footer #footCopy p a{
	display: block;
	margin-bottom: 5px;
}
#pageNation{
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
#pageNation li a{
	display: block;
	background: #f2f2f4;
	text-align: center;
	padding:8px 15px;
}
#pageNation li:first-of-type a{
	border-radius: 5px 0 0 5px;
}
#pageNation li:last-of-type a{
	border-radius:0 5px 5px 0;
}
#pageNation li a:hover,#pageNation li a.active{
	background: #927e2a;
	color: #fff;
}
footer .sns{
	margin: 10px 0;
}
footer .sns li:before,footer .sns li:after{
	display: none;	
}
footer .sns li a{
	display: block;
	border-radius: 5px;
	padding: 10px !important;
}
footer .sns li{
	width: 50px;
}
footer .sns li a img{
	width: 100%;
}
@media screen and (min-width: 769px) {
    .minInner {
        padding: 15px 15px 40px 15px;
    }
}
@media screen and (min-width: 1079px) {
    header #headLang {
        padding: 15px;
        height: 60px;
    }
    header #headLang #langIn {
        justify-content: flex-end;
        max-width: 1286px;
        margin: 0 auto;
    }
    header #headLang p {
        color: #fff;
        font-size: 14px;
        text-align: right;
    }
    header #headLang .langSelect {
        margin-left: 30px;
        position: relative;
    }
    header #headLang .langSelect:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 10px 5px 0 5px;
        border-color: #767676 transparent transparent transparent;
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        pointer-events: none;
    }
    header #headLang .langSelect select {
        padding: 5px 40px 5px 10px;
        font-size: 14px;
    }
    header #headBody #headBodyIn {
        max-width: 1286px;
        margin: 0 auto;
        position: relative;
    }
    header #headBody {
        padding: 0;
        height: 96px;
    }
    header #headBody #logo {
        width: 125px;
        padding: 20px 0;
        position:relative;
        z-index: 30;
    }
    header #navTrigger {
        display: none;
    }
    header nav {
        width:auto;
        position: absolute;
        height: 100%;
        background: none;
        right: 0;
        top: 0;
        padding: 0;
        display: block;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        z-index: 10;
    }
    header nav > ul {
        display: flex;
        justify-content: flex-end;
        height: 100%;
        width: auto;
    }
    header nav > ul > li {
        border-bottom: none;
        margin-right: 30px;
    }
    header nav ul li span.navTit, header nav ul li a.navTit {
        padding: 0;
        height: 100%;
        display: flex;
        align-items: center;
        color: #fff !important;
        position: relative;
        cursor: pointer;
    }
    header nav ul li span.navTit {
        padding-right: 20px;
    }
    header nav ul li span.navTit:after {
        content: "";
        width: 10px;
        height: 10px;
        position: absolute;
        background: url("../img/shared/nav_mark.webp") right center no-repeat;
        background-size: 100%;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
    }
    header nav ul li span.navTit:before {
        display: none;
    }
    header nav ul li .navTit a:hover {
        background: #c99b00;
    }
    header nav ul li .navTit span {
        position: relative;
    }
    header nav ul li .navTit span:after {
        content: "";
        background: #c99b00;
        height: 2px;
        position: absolute;
        bottom: 0;
        transition: all 0.2s;
        left: 0;
        width: 0px;
        transform-origin: left top;
    }
    header nav ul li:hover .navTit span:after {
        width: 100%;
    }
    header nav ul li div {
        display: block;
        visibility: hidden;
        opacity: 0;
        border-top: solid 1px #ccc;
        position: absolute;
        top: 96px;
        left: 50%;
        transform: translateX(-50%);
        width: 100vw;
        background: #fff;
        padding: 30px;
        box-shadow: 0px 4px 7px 0px rgba(0, 0, 0, 0.34);
        transition: all 0.1s;
    }
    header nav ul li:hover div {
        opacity: 1;
        visibility: visible;
    }
    header nav ul li div ul {
        max-width: 1286px;
        margin: 0 auto;
        text-align: right;
        padding-right: 490px;
    }
    header nav ul li div.company ul {
        padding-right: 260px;
    }
    header nav ul li ul li a {
        display: inline-block;
        padding: 5px;
    }
    header #headQuote {
        margin-top: 0;
    }
    header #headQuote a {
        padding: 10px 50px;
    }
    header #headQuote a:hover {
        background: #5e4d06;
    }
    .inner {
        max-width: 1286px;
        margin: 0 auto;
        padding: 60px 40px 80px 40px;
    }
    .minInner {
        max-width: 750px;
        margin: 0 auto;
        padding: 40px 0 90px 0;
    }
    #breadCrumbs {
        border-top: none;
        padding: 10px 15px 5px 15px;
    }
    #breadCrumbs ol {
        width: 1266px;
        margin: 0 auto;
        display: flex;
    }
    #headTit {
        padding: 0;
    }
    #headTit h1, #headTit p {
        padding: 80px 30px;
        max-width: 1286px;
        margin: 0 auto;
        font-size: 40px;
    }
    #footContact {
        padding: 60px 20px;
    }
    #footContact h2 {
        font-size: 26px;
    }
    #footContact p {
        font-size: 18px;
    }
    #footContact p a {
        font-size: 22px;
    }
    #footContact p a:hover {
        opacity: 0.6;
    }
    #footContact p a:before {
        margin-top: 15px;
    }
    #footContact .baseBtn {
        font-size: 18px;
    }
    #footContact .baseBtn:before {
        width: 24px;
        height: 24px;
    }
footer{
	background: #f4f4f4;
}
footer #footTop{
	max-width: 1286px;
	margin: 0 auto;
	padding: 30px 0;
	position: relative;
}
footer #footTop ul{
	justify-content: flex-start;
}
footer #footTop ul li a{
	font-size: 18px;
}
footer #footTop .langSelect{
	width: 160px;
	margin:10px 0 0 0;
	position: relative;
}
footer #footCopy p a{
	display: inline-block;
	margin-bottom: 0;
}
footer .sns{
	position: absolute;
	right: 0;
	margin:0;
	top: 25px;
}
footer .sns li a{
	padding: 5px !important;
}
footer .sns li{
	width: 40px;
}
}