body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
}
img {
	width: 100%;
}
a {
	color: #4C4C4C;
	text-decoration: underline;
}

/* タグ内の文字を改行表示(textareaからの登録) */
.pre-wrap {
    white-space: pre-wrap;
}

/* layout */
.l-inner {
	width: 800px;
	max-width: 100%;
	margin: auto;
}

.l_text__line-clamp{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.l_text__new-line{
    display: inline-block;
}

/* component */
.c-point {
	position: relative;
	margin-top: 40px;
}
.c-point:after {
	content: "";
	background: url(../images/icons/point_1.svg) no-repeat center center;
	width: 53px;
    height: 66px;
    position: absolute;
    top: -40px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 1;
}
.c-point-back {
	position: relative;
	margin-top: 40px;
}
.c-point-back:after {
	content: "";
	background: url(../images/icons/point_1.svg) no-repeat center center;
	width: 53px;
	height: 66px;
	position: absolute;
	top: -40px;
	right: 0;
	left: 0;
	margin: auto;
	z-index: -1;
}
.c-point--2:after {
	background-image: url(../images/icons/point_2.svg);
}
.c-point--3:after {
	background-image: url(../images/icons/point_3.svg);
}
.c-point > *{
	z-index: 2;
}
.c-point-header-high {
	min-height: 63px;
}
.c-card-header-number {
	font-size: 35px;
	line-height:63px;
	text-align:center;
	border-bottom: 1px solid #2BA69D;
}
.c-card-header-number-box {
	height:63px;
	width:63px;
	font-size: 40px;
	background-color: #2BA69D;
	color: #fff;
}
.c-number-title {
	position: relative;
	height: 75px;
}
.c-number-title-number {
	height:76px;
	width:76px;
	border-radius:50%;
	font-size: 40px;
	background-color: #2BA69D;
	color: #fff;
	line-height:75px;
	text-align:center;
	position: absolute;
	z-index: 2;
}
.c-number-title-title {
	width: calc(100% - 30px);
	font-size: 35px;
	color: #fff;
	background-color: #59b3ab;
	padding:0 0 0 50px;
	margin: 0;
	position: absolute;
	top: 10px;
	left: 30px;
	z-index: 1;
	border-radius: 10px;
}
.c-red-pill-btn {
	padding: 10px;
	font-size: 20px;
}
.c-title-border {
	text-align: left;
	color: black;
	border-bottom: 3px solid #2BA69D;
	display: inline-block;
}
.c-subtitle-border {
	padding-bottom: 8px;
	text-align: left;
	color: black;
	border-bottom: 3px solid #2BA69D;
	display: inline-block;
	/* iphone表示時に全角5文字の時のみ最後の一文字が改行される現象が起きた、同じような記事があり解消法に下記が載っていた */
	font-feature-settings: "pkna";
}
.c-subtitle-border::after {
	content: none
}
.h3-border-none::after {
	content: none
}
@media screen and (max-width: 767px) {
	.c-number-title-number {
		height:61px;
		width:61px;
		border-radius:50%;
		font-size: 25px;
		background-color: #2BA69D;
		color: #fff;
		line-height:61px;
		text-align:center;
		position: absolute;
		z-index: 2;
	}
    .c-number-title-title {
		font-size: 17px;
		position: absolute;
		top: 16px;
		padding:0 0 0 40px;
	}
}
.check-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.check-list li {
	position: relative;
	padding: 0 0 0 2em;
	margin: 0;
}
.check-list-padding2x li {
	padding: 0 0 0 4em;
}
.check-list li::before {
	position: absolute;
	left: 0;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: '\f00c';
	color: #2DC7CF;
}
/* 戻るボタン */
.c-btn-back::before {
    content: "";
    background: url(../images/icons/arrow_right.svg) no-repeat center center;
    width: 1em;
    height: .7em;
    display: inline-block;
    vertical-align: baseline;
    margin-left: .3em;
    background-size: contain;
    margin-right: 15px;
    transform: scale(-1, 1);
}
.c-btn-back::after {
    background: none;
}
@media screen and (min-width: 577px) {
    .c-sp-only {
        display: none;
    }
}

/* project */
.p-header .container{
	max-width: 100%;
}
.p-header a{
	text-decoration: none;
}
.p-header__logo {
	width: 262px;
}
.p-header__search {
	width: 22px;
	padding: 6px 0;
	margin-left: 1em;
}

.p-home__head {
	background: url(../images/home_head_bg.jpg) no-repeat center center;
	background-size: cover;
	height: 56vw;
	max-height: 96vh;
	display: flex;
    align-items: center;
    justify-content: center;
}
.p-home__head h1{
	width: 367px;
	max-width: 80%;
	-webkit-filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
	-moz-filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
	-ms-filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
	filter:drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
}
@media screen and (max-width: 576px) {
    .p-home__about_us {
        font-size: 1.2rem;
    }
}
.p-home__desc__image {
	height: 131px;
	text-align: center;
}
.p-home__desc__image img{
 	height: 100%;
}
.p-home__ilove img{
	width: 328px;
	max-width: 100%;
}

.p-car__name{
	background: #83B8B2;
    display: flex;
    padding: 6px 8px;
    color: #fff;
    align-items: center;
}
.p-car__name__logo{
	/*width: 68px;*/
    height: 38px;
    /*background: #fff;*/
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 6px;
}
.p-car__name__logo img{
	height: auto;
    display: block;
    max-height: 100%;
    width: auto;
}

.p-car__name h4{
	font-size: 16px;
    font-weight: 600;
    color: #fff;
    width: 100%;
    text-align: center;
    margin-bottom: 0;
}
.p-car__info,
.p-news__info{
	background: #fff;
    padding: 16px 30px;
    height: 209px;
}
.p-car__info > div{

    margin-bottom: 4px;
}
.p-car__info > div:before {
	content: "";
	background: url(../images/icons/area.svg) no-repeat center center;
    width: 17px;
    height: 17px;
    display: inline-block;
    background-size: contain;
    vertical-align: middle;
    margin-right: .4em;
}
.p-car__info > .p-car__info__type:before {
	background-image: url(../images/icons/type.svg);
}
.p-car__info > .p-car__info__food:before {
	background-image: url(../images/icons/food.svg);
}
.p-car__info > .p-car__info__base:before {
	background-image: url(../images/icons/base.svg);
}
.p-car__info > .p-car__info__phone:before {
	background-image: url(../images/icons/phone.svg);
}
.p-car .u-ofi,
.p-news .u-ofi {
	height: 173px;
}
.p-car__picup__info{
    height: 471px;
}
.p-car__button{
    max-width: none;
}

.p-news a{
	text-decoration: none;
	color: #4C4C4C;
}
.p-news a:hover {
	opacity: .8;
}

.p-instagram {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 14px;
	grid-row-gap: 14px;
}
.p-instagram a:hover {
	opacity: .8;
}
.p-instagram > div:nth-child(1) { grid-area: 1 / 1 / 3 / 3; }
.p-instagram > div:nth-child(2) { grid-area: 1 / 3 / 2 / 4; }
.p-instagram > div:nth-child(3) { grid-area: 1 / 4 / 2 / 5; }
.p-instagram > div:nth-child(4) { grid-area: 1 / 5 / 2 / 6; }
.p-instagram > div:nth-child(5) { grid-area: 2 / 3 / 3 / 4; }
.p-instagram > div:nth-child(6) { grid-area: 2 / 4 / 3 / 5; }
.p-instagram > div:nth-child(7) { grid-area: 2 / 5 / 3 / 6; }

.p-instagram__link {
	width: 280px;
}
.p-footer {
	background: #7B828A;
	color: #fff;
}
.p-footer__logo {
	width: 172px;
}
.p-footer__nav {
	font-size: 12px;
}
.p-footer__nav a {
	color: #fff;
	text-decoration: none;
	line-height: 2;
}
.p-footer__nav li {
	list-style: none;
	padding-left: .5em;
}
.p-footer__nav .p-footer__nav__parent {
	font-size: 13px;
	font-weight: 600;
	padding-left: 0;
}
.p-footer__nav .p-footer__nav__parent + li:not(.p-footer__nav__parent) {
	margin-top: -.3em;
}
.p-footer__copyright {
	background: #60676E;
	font-size: 12px;
	letter-spacing: .15em;
}

.p-page__head {
	background: url(../images/page/eventer_head.jpg) no-repeat center center;
	background-size: cover;
	height: 30vw;
	display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
}
.p-page__head--eventer {
	background-image: url(../images/top/eventer_top.jpg)
}
.p-page__head--collect {
	background-image: url(../images/home_head_bg.jpg);
	height: 40vw;
	position: relative;
}
.p-page__head--collect::before {
	content: '';
	/* ↓暗いオーバーレイを半透明で配置 */
	background-color: rgba(0, 0, 0, 0.4);
	/* ↓全体を覆うように配置 */
	width: 100%;
	height: 100%;
	display: block;
}
.p-page__head--collect-content {
	position: absolute;
	top: 0;
	bottom: 0;
}
.p-page__head--collect-content-left {
	padding-top: 10%;
}
.p-page__head--collect-content-left h2 {
	color: white;
	text-align: left;
}
.p-page__head--owner {
    background-image: url(../images/top/owner_top.jpg)
}
.p-page__head--cars {
    background-image: url(../images/top/car_index_top.jpg)
}
.p-page__head--gallery {
    background-image: url(../images/top/gallery_top.jpg)
}
.p-page__head--contact {
    background-image: url(../images/top/contact_top.jpg)
}
.p-page__head--company {
	background-image: url(../images/top/company.jpg)
}
.p-page__head h1 {
	font-size: 28px;
	font-weight: 600;
	color: #fff;
	letter-spacing: .16em;
}
.p-page__head p{
	width: 500px;
	max-width: 100%;
	font-size: 14px;
	font-weight: 600;
}
.p-page--eventer__toggle {
	position: relative;
}
.p-page--eventer__toggle:after {
	content: "";
	background: url(../images/icons/toggle.svg) no-repeat center center;
	position: absolute;
    width: 57px;
    height: 24px;
    right: -70px;
    top: 0;
    bottom: 120px;
    margin: auto;
}
.p-page--eventer__merit img{
	width: 212px;
}
.p-page--eventer__consult__img {
	height: 24vw;
}
.p-page--owner__planText {
	width: 66%;
}
@media screen and (max-width: 576px) {
    .p-page--owner__planText__sp {
        width: 100% !important;
    }
}

.p-page--cars__result {
	padding: 12px;
	text-align: center;
}
.p-page--contact__tel {
	width: 360px;
	max-width: 100%;
	margin: auto;
}
@media(min-width: 768px){
    .p-page--contact__tel a[href^="tel:"] {
        text-decoration: none;
        pointer-events: none;
    }
}
.p-page--contact__form {
	padding: 35px 80px;
	background-color: #F2F2F2;
}
.p-page--contact__form label{
	color: #2BA69D;
	font-weight: 600;
	letter-spacing: .08em;
}
.p-blog--item {
	width: 23%;
}
.p-blog--item-image {
	height: 150px;
}
.p-blog--item-title {
	min-height: 90px;
}



/* utility */
.u-ofi {
	overflow: hidden;
}
.u-ofi img{
	object-fit: cover;
	object-position: 50% 50%;
    height: 100%;
    width: 100%;
    font-family: 'object-fit: cover; object-position: 50% 50%;' /* IE・Edge対応 */
}
.u-ofi-offset img{ /* 縦長画像の補正(縮む現象を修正する) */
	height: auto;
	min-height: 100%;
}
.u-ofi a {
	display: block;
    height: 100%;
}

@media (min-width: 768px) and (max-width: 995px) {
	.p-blog--item {
		width: 22%;
	}
	.p-blog--item-image {
		width: 100%;
		height: 100px;
	}
	.p-blog--item-title {
		min-height: 60px;
	}
	.p-blog--item-title-text {
		font-size: 0.8rem;
	}
}

@media (min-width: 576px) and (max-width: 768px) {
	.p-blog--item {
		width: 30%;
	}
	.p-blog--item-image {
		width: 100%;
		height: 100px;
	}
	.p-blog--item-title {
		min-height: 45px;
	}
	.p-blog--item-title-text {
		font-size: 0.6rem;
	}
}

@media (max-width: 575.98px) {
	main {
		overflow-x: hidden;
	}
	.p-header__search {
		display: none;
	}
	.p-home__head {
		height: 86vw;
	}
	.p-home__head h1{
		width: 177px;
	}
	.p-car,
	.p-news {
		margin-bottom: 40px;
	}
	.p-footer__logo {
		margin: 0 auto;
    	margin-bottom: 40px;
	}
	.p-footer__nav{
		padding: 0;
	}
	.p-page--eventer__toggle{
		margin-bottom: 80px;
	}
	.p-page--eventer__toggle:after{
		right: 0;
	    left: 0;
	    top: initial;
	    bottom: -40px;
	    transform: rotate(90deg);
	}
	.p-page--eventer__merit img {
	    width: 100%;
	}
	.p-page__head {
	    height: 40vh;
	}
	.p-page__head > div{
		width: 100vw;
    	padding: 0 20px;
	}
	.p-page__head h1{
		font-size: 20px;
	}
	.p-page--contact__form {
	    padding: 30px;
	}
	.p-blog--item {
		width: 100%;
	}
	.p-blog--item-image {
		width: 100%;
		height: 65.5vw;
	}
	.p-blog--item-title-text {
		font-size: 1.2rem;
	}

}
/* コレクトページのTOPの要素が多くボタンが飛び出るため、他のp-page__headとレスポンスシブの高さ設定を変える */
@media screen and (max-width: 1176px) {
	.p-page__head--collect {
		height: 50vh;
	}
}
/* ユーザー認証周りのページのレスポンシブ対応 */
/* ユーザー認証周りのページのメインのbackgroundの設定 */
.p-auth__head {
    height: auto;
    max-height: 100%;
}

@media screen and (min-width: 768px) {
    .p-reset-email__head,
    .p-reset__head,
    .p-verify__head {
        height: 56vw;
        max-height: 96vh;
    }
}

/* bootstrap：チェックボックスの大きさ変更 */
.p-auth__head .form-check-input {
    width: 1.2rem;
    height: 1.2rem;
}
.p-auth__head .form-check-label {
    margin: 2px 0 0 10px;
}

/* css/bootstrap_customize.cssのリセット */
.p-auth__head .btn::after {
    content: none;
}


/* プロフィール */
.p-profile-create__head {
    height: 56vw;
    max-height: 96vh;
    display: block;
    padding: 30px;
    overflow: scroll;
}

.form-control::-moz-placeholder {/* placeholderの色変更 */
    color: #ccc;
}
.form-control:-ms-input-placeholder {
    color: #ccc;
}
.form-control::-ms-input-placeholder {
    color: #ccc;
}
.form-control::placeholder {
    color: #ccc;
}

@media screen and (max-width: 767px) {
    .p-profile-create__head {
        padding: 0;
        height: auto;
        max-height: 100%;
    }
}

.p-eventer-main-section {
	background-color: #f8f9fa;
	padding-bottom: 32px;
	margin-bottom: 128px;
}

.p-eventer-sub-title {
	background-color: #A8D1CE;
	border-radius: 50rem;
	padding: 8px 16px;
	margin: 0 16px;
}

.p-collect-3-point-img {
	height: 128px;
}
.p-collect-3-point-img img {
	height: 100%;
	width: auto;
}


.external-schedule-image img {
	width: 100%;
    height: calc((40vw - 30px) * .75);
    object-fit: contain;
}

@media (max-width: 767.98px) {
	.external-schedule-image img {
		width: 100%;
		height: calc((60vw - 30px) * .75);
		object-fit: contain;
	}
}
@media (max-width: 576px) {
	.external-schedule-image img {
		width: 100%;
		height: calc((100vw - 30px) * .75);
		object-fit: contain;
	}
}

