@charset "UTF-8";
html, body {
  width: 100%;
  max-width: 100vw;
}
body {
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 auto;
}
img {
  position: relative;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  width: 100%;
}
header.-panelOpen .PageHeader__HomeLink img {
  width: 40px;
}
@media (min-width: 768px) {
  img {
    max-width: none;
  }
}
h1, h2, h3, h4, p {
  background: none;
  border: 0;
  display: block;
  margin: 0;
  line-height: 1;
  outline: 0;
  padding: 0;
} 
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
li {
  margin: 0;
  padding: 0;
}

/* コンテンツ：出しわけ */
.sp__only {
  display: block;
}
.pc__only {
  display: none;
}
@media (min-width: 768px) {
  .sp__only {
    display: none;
  }
  .pc__only {
    display: block;
  }
}

/* コンテンツ：レイアウト */
.contents__wrapper {
  margin: 0 auto;
  max-width: 768px;
}
@media (min-width: 768px) {
  .contents {
    align-items: flex-start;
    display: flex;
    justify-content: center;
    max-width: none;
    overflow: hidden;
  }
  .contents__wrapper {
    margin: 0 auto;
    max-width: 1920px;
  }
}

/* コンテンツ：コンテナ */
.contents__container {
  position: relative;
  width: 100%;
}

/* コンテンツ：注釈 */
.contents__notes {
  color: #444;
  font-size: max(10px, calc(100vw*22/750));
  line-height: 1.54;
}
@media (min-width: 768px) {
  .contents__notes {
    font-size: 14px;
  }
}

/* コンテンツ：cv */
.contents__cv {
  padding: calc(30/750*100%) 0 calc(40/750*100%);
}
.contents__cv h2 {
  color: #CB0000;
  font-size: max(18px, calc(100vw*40/750));
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.2;
  margin: 0 auto calc(50 / 750 * 100%);
  text-align: center;
}
.contents__cv p:first-of-type {
  margin: 0 auto calc(14/750*100%);
  width: calc(300/750*100%);
}
.contents__cv p:nth-of-type(2) {
  margin: calc(12/750*100%) auto 0;
  text-align: center;
}
.contents__cv .contents__button {
  margin: 0 auto;
  width: calc(624/750*100%);
}
.contents__cv .contents__button a {
  cursor: pointer;
  transition: opacity .2s;
}
.contents__cv .contents__button a:hover {
  opacity: 0.7;
}
@media (min-width: 768px) {
  .contents__cv {
    padding: 15px 0;
  }
  .contents__cv h2 {
    font-size: 36px;
    line-height: 1;
    margin: 0 auto 40px;
  }
  .contents__cv p:first-of-type {
    margin: 0 auto 10px;
    width: 201px;
  }
  .contents__cv p:nth-of-type(2) {
    margin: 10px auto 0;
  }
  .contents__cv .contents__button {
    width: 668px;
  }
}

/* コンテンツ：スライダー設定 */
.contents__slider__wrap {
  position: relative;
  width: 100%;
}
.owl-carousel .item {
  box-sizing: border-box;
  margin-left: calc(25/750*100%);
  margin-right: calc(25/750*100%);
}
.owl__custom__nav {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.owl__custom__nav img {
  display: block;
  height: auto;
  width: calc(89/750*100vw) !important;
  z-index: 100;
}
.owl-prev, .owl-next {
  cursor: pointer;
  position: absolute;
  top: 45%;
  transform: translateY(-50%);
  z-index: 101;
}
.owl-prev {
  left: calc(6/750*100vw);
}
.owl-next {
  right: calc(6/750*100vw);
}
.owl-dots {
  display: flex !important;
  justify-content: center;
  margin-top: calc(40/750*100vw);
  text-align: center;
}
.owl-dot {
  background: #000 !important;
  border-radius: 100px;
  height: 8px;
  margin: 0 6px;
  outline: none;
  opacity: .2;
  transition: .3s linear;
  width: 8px;
}
.owl-dot.active {
  background: #000 !important;
  opacity: 1;
}
.owl-dot:hover {
  background: #000 !important;
}
.contents__case .owl-dot {
  background: #fff !important;
}
.contents__case .owl-dot.active {
  background: #fff !important;
}
.contents__case .owl-dot:hover {
  background: #fff !important;
}
@media (min-width: 768px) {
  .contents__slider__wrap {
    margin: 0 auto;
    width: 1274px;
  }
  .owl-carousel .item {
    margin-left: 25px;
    margin-right: 25px;
  }
  .owl-carousel .owl-item img {
    width: 391px;
  }
  .owl__custom__nav img {
    width: 68px !important;
  }
  .owl-prev {
    left: 365px;
  }
  .owl-next {
    right: 365px;
  }
  .owl-dots {
    margin-top: 30px;
  }
  .owl-dot {
    border-radius: 100px;
    height: 11px;
    margin: 0 10px;
    width: 11px;
  }
  .contents__case .owl-dot {
    height: 11px;
    margin: 0 10px;
    width: 11px;
  }
}

/* コンテンツ：firstview */
.contents__firstview {
  padding-bottom: calc(45 / 750 * 100%);
}
.contents__firstview .contents__cv {
  padding: calc(35 / 750 * 100%) 0 calc(40 / 750 * 100%);
}
.contents__firstview .contents__emblem {
  align-items: center;
  display: flex;
  margin: 0 auto;
  width: calc(620/750*100%);
}
.contents__firstview .contents__emblem div {
  width: calc(156/620*100%);
  padding-right: calc(9/620*100%);
}
.contents__firstview .contents__emblem p {
  flex: 1;
  margin-left: 2em;
  text-indent: -2em;
}
@media (min-width: 768px) {
  .contents__firstview {
    padding-bottom: 40px;
  }
  .contents__firstview h1 img {
    display: block;
    height: auto;
    left: 50%;
    transform: translateX(-50%);
    width: 1920px;
  }
  .contents__firstview .contents__cv {
    padding: 15px 0 30px;
  }
  .contents__firstview .contents__emblem {
    width: 470px;
  }
  .contents__firstview .contents__emblem div {
    padding-right: 7px;
    width: 103px;
  }
}

/* コンテンツ：東都観光バスが選ばれる理由 */
.contents__features {
  background-image: url("../img/service/lp/features_bg.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc(150/750*100%) 0 calc(237/750*100%);
}
.contents__features h2 {
  color: #fff;
  font-size: max(25px, calc(100vw*56/750));
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.33;
  margin: 0 auto calc(140/750*100%);
  text-align: center;
}
.contents__features .features__body {
  margin: 0 auto;
  width: calc(671/750*100%);
}

.features {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 15px;
  background: #fff;
  padding: 20px 20px;
}
.feature {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.feature-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.5em;
}
.icon {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #ffc107;
  color: #fff;
  font-size: 2.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 14px;
  flex-shrink: 0;
}
.feature h3 {
  font-weight: bold;
  font-size: 1.2rem;
  margin: 0;
}
.feature p {
  margin: 0;
  color: #333;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .contents__features {
    background-image: url("../img/service/lp/features_bg_pc.jpg");
    padding: 60px 0 240px;
    min-height:600px;
  }
  .contents__features h2 {
    font-size: 36px;
    line-height: 1;
    margin: 0 auto 60px;
  }
  .contents__features .features__body {
    width: 800px;
  }
  .features {
    flex-direction: row;
    gap: 15px;
  }
}

/* コンテンツ：対応シーン */
.contents__case {
  background-image: url("../img/service/lp/case_bg.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc(200 / 750 * 100%) 0 calc(80 / 750 * 100%);
}
.contents__case h2 {
  color: #fff;
  font-size: max(25px, calc(100vw*56/750));
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 auto calc(80 / 750 * 100%);
  text-align: center;
}
@media (min-width: 768px) {
  .contents__case {
    background-image: url("../img/service/lp/case_bg_pc.jpg");
    padding: 180px 0 45px;
  }
  .contents__case h2 {
    font-size: 36px;
    margin: 0 auto 45px;
  }
}

/* コンテンツ：お客様の声 */
.contents__voice {
  padding: calc(100 / 750 * 100%) 0 calc(80 / 750 * 100%);
}
.contents__voice h2 {
  color: #CB0000;
  font-size: max(25px, calc(100vw*56/750));
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 auto calc(100 / 750 * 100%);
  text-align: center;
}

.contents__voice .contents__notes {
  padding: calc(34/750*100%) calc(105/750*100%) 0;
  text-align: right;
}

.uservoice-container {
  display: flex;
  gap: 30px;
  justify-content: flex-start;
  margin: 30px;
}
.uservoice {
  border: 2px solid #CB0000;
  border-radius: 2px;
  padding: 30px 20px;
  background: #fff;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 300px;
  overflow: hidden;
}
.uservoice-header {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
}
.uservoice-header img {
  width: 90px  !important;
  height: 90px !important;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 24px;
}
.uservoice-title {
  font-size: 14px;
  font-weight: 500;
  color: #444;
}
.uservoice-body {
  font-size: 14px;
  line-height: 1.8;
  color: #222;
}

@media (min-width: 768px) {
  .contents__voice {
    padding: 45px 0;
  }
  .contents__voice h2 {
    font-size: 36px;
    margin: 0 auto 20px;
  }
  .contents__voice .contents__voice__block {
    align-items: center;
    display: flex;
    justify-content: center;
  }
  .contents__voice .contents__notes {
    width: 900px;
    margin: 0 auto;
    padding:0;
    text-align: right;
  }
  .uservoice{
    width: 430px;
  }
  .uservoice-title {
    white-space: nowrap;
    font-size: 20px;
  }
  .uservoice-body {
    font-size: 18px;
  }
}

/* コンテンツ：東都観光バスはここが違う！充実した装備 */
.contents__amenities {
  background-image: url("../img/service/lp/amenities_bg.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc(100 / 750 * 100%) 0 calc(40 / 750 * 100%);
}
.contents__amenities h2 {
  color: #fff;
  font-size: max(25px, calc(100vw*54/750));
  font-feature-settings: "palt";
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.3;
  margin: 0 auto calc(90/750*100%);
  text-align: center;
}
.contents__amenities__body {
  margin: 0 auto;
  padding: 15px 0;
}
.amenities__grid {
  display: block;
}

@media (max-width: 767px) {
  .amenity__item {
    text-align: left;
  }
  .amenity__item:nth-child(even) {
    text-align: right;
  }
}

.amenity__num {
  display: none;
  color: #CB0000;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 10px;
}
.amenity__item img {
  width: 85%;
  margin-bottom: 5px;
}
.amenity__desc {
  font-size: 1.1rem;
  color: #fff;
  margin-top: 0;
  text-align: center;
  margin-bottom: 20px;
}
.amenity__note {
  font-size: 14px;
}


@media (min-width: 768px) {
  .contents__amenities {
    background-image: url("../img/service/lp/amenities_bg_pc.jpg");
    padding: 60px 0 60px;
  }
  .contents__amenities h2 {
    font-size: 36px;
    line-height: 1;
    margin: 0 auto 60px;
  }
  .amenities__grid {
    display: flex;
    flex-wrap: wrap;
    gap: 25px 20px;
    justify-content: center;
  }
  .contents__amenities__body {
    width: 1056px;
    background: #fff;
  }
  .amenity__item {
    width: 230px;
    flex-shrink: 0;
  }
  .amenity__item img {
    width: 230px;
    height: 180px;
    margin-bottom: 8px;
  }
  .amenity__num {
    display: block;
    text-align: center;
    color: #CB0000;
    font-size: 36px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 10px;
  }
  .amenity__desc {
    font-size: 18px;
    color: #222;
    margin-bottom: 0;
  }
  .amenities__grid {
    justify-content: center;
  }
  .amenity__note {
    color: #444;
  }
}

/* コンテンツ：座席表と収容人数 */
.contents__layout {
  padding: calc(80 / 750 * 100%) 0 calc(80 / 750 * 100%);
}
.contents__layout h2 {
  color: #CB0000;
  font-size: max(25px, calc(100vw*56/750));
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 auto calc(80 / 750 * 100%);
  text-align: center;
}
.contents__layout .item {
  background-color: #f1f1f1;
  padding: calc(30 / 600 * 100%) calc(30 / 600 * 100%) calc(30 / 600 * 100%);
}
.contents__layout .contents__layout__txt {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin-left: 6%;
  padding-top: calc(34/600*100%);
}
@media (max-width: 340px) {
  .contents__layout .contents__layout__txt {
    margin-left: 0;
  }
}
.contents__layout .contents__layout__txt p {
  font-size: max(10px, calc(100vw*22/750));
  font-weight: 500;
  padding-bottom: .8em;
}
.contents__layout .contents__layout__txt p:first-of-type {
  width: 50%;
}
.contents__layout .contents__layout__txt p:nth-of-type(2) {
  margin-left: 5%;
  width: 35%;
}
.contents__layout .contents__layout__txt p span:first-of-type {
  display: inline-block;
  padding-right: .8em;
  vertical-align: middle;
  width: 4em;
}
.contents__layout .contents__layout__txt a.txt__green {
  color: #209260;
  margin-right: .6em;
  text-decoration: underline;
}
.contents__layout .contents__layout__txt a.txt__red {
  color: #CB0000;
  margin-right: .6em;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .contents__layout {
    padding: 45px 0 45px;
  }
  .contents__layout h2 {
    font-size: 36px;
    margin: 0 auto 30px;
  }
  .contents__layout .contents__layout__block {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
    width: 840px;
  }
  .contents__layout .contents__layout__item {
    margin-bottom: 20px;
    width: 415px;
  }
  .contents__layout .contents__layout__item:last-of-type {
    margin-bottom: 0;
  }
  .contents__layout .contents__layout__txt {
    align-items: center;
    background-color: #f1f1f1;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    padding: 20px 23px;
    width: 360px;
  }
  .contents__layout .contents__layout__txt p {
    font-size: 17px;
    padding-bottom: .8em;
  }
  .contents__layout .contents__layout__txt p:last-of-type {
    padding-bottom: 0;
  }
  .contents__layout .contents__layout__txt p:first-of-type {
    width: 55%;
  }
  .contents__layout .contents__layout__txt p:nth-of-type(2) {
    margin-left: 3%;
    width: 40%;
  }
  .contents__layout .contents__layout__txt p span:first-of-type {
    padding-right: .5em;
  }
  .contents__layout .contents__layout__txt a.txt__small {
    font-size: 85%;
  }
}

/* コンテンツ：車種別バス料金の概算 */
.contents__price {
  background-image: url("../img/service/lp/price_bg.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc(100 / 750 * 100%) 0 calc(80 / 750 * 100%);
}
.contents__price h2 {
  color: #fff;
  font-size: max(25px, calc(100vw*56/750));
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 auto calc(100 / 750 * 100%);
  text-align: center;
}
.contents__price h2 + p {
  margin: 0 auto;
  width: calc(671/750*100%);
}
.contents__price .contents__notes {
  margin: calc(45/750*100%) auto 0;
  width: calc(671/750*100%);
}
.contents__price .contents__notes li {
  color: #fff;
  margin-left: 1em;
  text-indent: -1em;
}
.contents__price__body {
  background: #fff;
  margin: 0 20px;
  padding: 0 20px;
}

.bus-container {
  display: flex;
  gap: 35px;
  justify-content: center;
  flex-direction: column;
  margin: 20px 0;
  text-align: center;
  padding: 30px 0;
}
.bus-card picture{
  height:150px;
  display: block;
}
.bus-card img {
  width: 200px;
  max-width: 100%;
  height: auto;
  margin-bottom: 16px;
}
.bus-type {
  background: #CB0000;
  color: #fff;
  padding: 4px;
  margin-bottom: 8px;
  font-weight: 500;
  border-radius: 2px;
  font-size: 1rem;
}
.bus-price {
  font-size: 0.8rem;
  color: #222;
}
.bus-price strong {
  font-size: 1.1rem;
  font-weight: bold;
}

@media (min-width: 768px) {
  .contents__price__body{
    margin: 0 auto;
    padding:0;
  }
  .contents__price {
    background-image: url("../img/service/lp/price_bg_pc.jpg");
    padding: 60px 0;
  }
  .contents__price h2 {
    font-size: 36px;
    margin: 0 auto 60px;
  }
  .contents__price h2 + p {
    margin: 0 auto;
    width: 800px;
  }
  .contents__price__body{
    width: 800px;
  }
  .contents__price .contents__notes {
    margin: 30px auto 0;
    width: 800px;
  }
  .bus-container {
    flex-direction: row;
  }
  .bus-card{
    min-width:300px;
  }
  .bus-type {
    padding: 4px 60px;
    margin-bottom: 14px;
  }
  .bus-container {
    padding: 30px;
  }
}

/* コンテンツ：貸切バス料金の計算方法 */
.contents__calculation {
  background-image: url("../img/service/lp/calculation_bg.jpg");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc(150/750*100%) 0 calc(230/750*100%);
}
.contents__calculation h2 {
  color: #CB0000;
  font-size: max(25px, calc(100vw*56/750));
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 auto calc(140/750*100%);
  text-align: center;
}
.contents__calculation h2 + div {
  margin: 0 auto;
  width: calc(671/750*100%);
}
.contents__calculation h3 {
  font-size: max(18px, calc(100vw*40/750));
  font-weight: 500;
  margin: calc(80/750*100%) auto 0;
  width: calc(600/750*100%);
}
.contents__calculation p {
  font-size: max(12px, calc(100vw*30/750));
  font-weight: 400;
  letter-spacing: .01em;
  line-height: 1.5;
  margin: calc(45/750*100%) auto 0;
  width: calc(600/750*100%);
}
@media (min-width: 768px) {
  .contents__calculation {
    background-image: url("../img/service/lp/calculation_bg_pc.jpg");
    padding: 60px 0 200px;
  }
  .contents__calculation h2 {
    font-size: 36px;
    margin: 0 auto 60px;
  }
  .contents__calculation h2 + div {
    width: 799px;
  }
  .contents__calculation h3 {
    font-size: 20px;
    margin: 40px auto 0;
    width: 799px;
  }
  .contents__calculation p {
    font-size: 15px;
    margin: 36px auto 0;
    width: 799px;
  }
}

/* コンテンツ：ご利用の流れ */
.contents__flow {
  background-image: url("../img/service/lp/flow_bg.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc(280/750*100%) 0 calc(270/750*100%);
}
.contents__flow h2 {
  color: #fff;
  font-size: max(25px, calc(100vw*56/750));
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 auto calc(120/750*100%);
  text-align: center;
}
.contents__flow p {
  margin: 0 auto calc(50/750*100%);
  width: calc(671/750*100%);
}
.contents__flow p:last-of-type {
  margin-bottom: 0;
}

.contents__flow__body {
  margin: 0 auto;
  width: calc(671/750*100%);
}
.contents__flow__body .contents__flow__block {
  color: #fff;
  margin-bottom: calc(50/750*100%);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding-bottom: calc(100/750*100%);
}
.flow01 {
  background-image: url('../img/service/lp/flow_img01.png');
}
.flow01-inner{
  padding-top: calc(522/671*100%);
}
.flow01-inner .tel{
  color: #fff;
  text-decoration:none;
  pointer-events: none;
}
.flow02 {
  background-image: url('../img/service/lp/flow_img02.png');
}
.flow02-inner{
  padding-top: calc(536/671*100%);
}
.flow03 {
  background-image: url('../img/service/lp/flow_img03.png');
}
.flow03-inner{
  padding-top: calc(536/671*100%);
}
.flow-body h3{
  font-size: calc(100vw*40/750);
  margin-bottom: calc(50/671*100%);
  text-align: center;
}
.flow-text p {
  font-size: calc(100vw*30/750);
  margin-bottom: 1em;
  line-height: 1.5;
  font-weight: 300;
}
.flow-text p strong {
  font-weight: 600;
}

@media (min-width: 768px) {
  .contents__flow {
    background-image: url("../img/service/lp/flow_bg_pc.jpg");
    padding: 200px 0;
  }
  .contents__flow h2 {
    font-size: 36px;
    margin: 0 auto 60px;
  }
  .contents__flow p {
    margin: 0 auto 40px;
    width: 800px;
  }
  .contents__flow p:last-of-type {
    margin-bottom: 0;
  }

  .contents__flow__body {
    width: 800px;
    margin: 0 auto;
  }
  .flow-body h3 {
    text-align: left;
    font-size:1.3rem;
    margin-bottom: 24px;
  }
  .contents__flow__body .contents__flow__block {
    margin-bottom: 40px;
    padding-bottom: 0;
  }
  .flow01 {
    width: 800px;
    height: 423px;
    min-height:auto;
    background: url('../img/service/lp/flow_img01_pc.png') top/contain no-repeat;
    color: #fff;
    margin-bottom:40px;
  }
  .flow01-inner{
    padding-left:430px;
    padding-top: 96px;
  }
  .flow02 {
    width: 800px;
    height: 354px;
    background: url('../img/service/lp/flow_img02_pc.png') top/contain no-repeat;
    color: #fff;
    margin-bottom:40px;
  }
  .flow02-inner {
    padding-left:430px;
    padding-top: 120px;
  }
  .flow03 {
    width: 800px;
    height: 358px;
    background: url('../img/service/lp/flow_img03_pc.png') top/contain no-repeat;
    color: #fff;
  }
  .flow03-inner {
    padding-left:430px;
    padding-top: 120px;
  }
  .flow-text p {
    font-size: 1rem;
    line-height: 1.6;
  }
  .flow-text strong {
    font-weight: bold;
    font-size: 1rem;
  }
  .flow-text .tel {
    font-weight: bold;
    letter-spacing: 0.04em;
  }
}

/* コンテンツ：よくあるご質問 */
.contents__faq {
  padding: calc(80 / 750 * 100%) 0 calc(80 / 750 * 100%);
}
.contents__faq h2 {
  color: #CB0000;
  font-size: max(25px, calc(100vw*56/750));
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 auto calc(80 / 750 * 100%);
  text-align: center;
}
.contents__faq__block {
  border: 2px solid #c7c7c7;
  box-sizing: border-box;
  margin: 0 auto calc(50/750*100%);
  width: calc(670/750*100%);
}
.contents__faq__block:last-of-type {
  margin-bottom: 0;
}
.contents__accordion--question {
  cursor: pointer;
  position: relative;
}
.contents__accordion--answer {
  display: none;
}
.contents__accordion--question::before {
  background-color:#000;
  content: '';
  height: 2px;
  position: absolute;
  right: 5%;
  top: 50%;
  transform: rotate(90deg);
  transition: all .3s ease-in-out;
  width: calc(28/670*100%);
  z-index: 10;
}
.contents__accordion--question::after {
  background-color:#000;
  content: '';
  height: 2px;
  position: absolute;
  right: 5%;
  top: 50%;
  transition: all .3s ease-in-out;
  width: calc(28/670*100%);
  z-index: 10;
}
.contents__accordion--question.contents__accordion--open::before {
  transform: rotate(180deg);
}
.contents__accordion--question.contents__accordion--open::after {
  opacity:0;
}

.contents__accordion--question  .faq__body {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px 40px 15px 15px;
}
.contents__accordion--answer .faq__body {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 0 0 15px 15px;
}
.faq__answer__inner {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 25px 10px 0 0;
  border-top: 3px solid;
  border-image: linear-gradient(to right, #c7c7c7 92%, #fff 8%) 1;
  width: 100%;
}
.faq-icon {
  width: 45px;
  height: 45px;
  display: block;
  object-fit: contain;
}
.faq__body .faq-text {
  font-size: 0.9rem;
  font-weight: 500;
}
.faq__answer .faq-text {
  font-size: 1.1rem;
}

@media (min-width: 768px) {
  .contents__faq {
    padding: 45px 0 45px;
  }
  .contents__faq h2 {
    font-size: 36px;
    margin: 0 auto 45px;
  }
  .contents__faq__block {
    border: 3px solid #c7c7c7;
    margin: 0 auto 30px;
    width: 800px;
  }
  .contents__accordion--question::before {
    height: 3px;
    right: 40px;
    width: 27px;
  }
  .contents__accordion--question::after {
    height: 3px;
    right: 40px;
    width: 27px;
  }
  .contents__accordion--question  .faq__body {
    padding: 20px;
  }
  .contents__accordion--answer .faq__body {
    padding: 0 25px 25px;
  }
  .faq__body .faq-text {
    font-size: 1.1rem;
  }
  .faq__answer__inner {
    border-image: linear-gradient(to right, #c7c7c7 99%, #fff 1%) 1;
  }
}

/* コンテンツ：東都観光バスについて */
.contents__about {
  background-image: url("../img/service/lp/about_bg.jpg");
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  padding: calc(80 / 750*100%) 0 calc(80 / 750 * 100%);
}
.contents__about h2 {
  color: #fff;
  font-size: max(25px, calc(100vw*56/750));
  font-weight: 700;
  letter-spacing: .04em;
  margin: 0 auto calc(80 / 750 * 100%);
  text-align: center;
}
.contents__about p {
  margin: 0 20px;
}

.company-block {
  display: flex;
  flex-direction: column;
  margin: 0 30px;
  align-items: flex-start;
  color: #fff;
  gap: 25px;
}
.company-img img {
  height: auto;
  display: block;
  border-radius: 2px;
}
.company-desc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}
.company-desc h3 {
  font-size: 1.3rem;
  font-weight: bold;
  margin: 0 0 16px ;
  letter-spacing: 0.04em;
}
.company-desc p {
  font-size: 0.8rem;
  line-height: 1.5;
  margin:0;
}

@media (min-width: 768px) {
  .contents__about {
    background-image: url("../img/service/lp/about_bg_pc.jpg");
    padding: 45px 0;
  }
  .contents__about h2 {
    font-size: 36px;
    margin: 0 auto 45px;
  }
  .contents__about p {
    margin: 0 auto;
    width: 778px;
  }
  .company-block {
    width: 800px;
    flex-direction: row;
    margin: 0 auto;
  }
  .company-img img {
    width: 333px;
  }
  .company-desc h3 {
    margin: 0 0 16px 0;
  }
  .company-desc p {
    font-size: 1rem;
  }
}

/* コンテンツ：フローティングボタン */
.contents__floating {
	bottom: 60px;
	right: 5px;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: .3s;
  width: calc(200 / 750 * 100%);
  z-index: 999;
}
.contents__floating.active {
	opacity: 1;
  pointer-events: all;
}
.contents__floating:hover {
  opacity: 0.7;
}
@media (min-width: 768px) {
  .contents__floating {
    bottom: 70px;
    right: 15px;
    width: 120px;
  }
}
