/*
Theme Name: 仙台・青葉まつり
Theme URL: テーマのサイトのURI
Description: テーマの説明
Author: 作者の名前
Version: テーマのバージョン
Tags: テーマの特徴を表すタグ（カンマ区切り/オプション）
License: テーマのライセンス
License URI: テーマのライセンスのURI
*/

/* 基礎 */
html,
body,
img,
h1,
h2,
h3,
h4,
p,
video,
a,
ul,
li,
div,
nav {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
p {
  font-weight: normal;
}

h1 {
  font-size: 45px;
}

h2 {
  font-size: 30px;
  letter-spacing: 5px;
}

h3 {
  font-size: 20px;
}

h4 {
  font-size: 18px;
}

p,
th,
td {
  font-size: 16px;
  letter-spacing: 3px;
}

th {
  font-weight: normal;
}

html,
body {
  width: 100%;
  height: 100%;
  -ms-overflow-style: none;
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0); /* 選択時カラー透明に */
}

li,
ul {
  list-style: none;
}

body {
  font-family: "Sawarabi Mincho Medium", "Avenir", "Helvetica Neue", "Helvetica",
    "Arial", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
    "Meiryo", "游ゴシック", "Yu Gothic", "MS Pゴシック", sans-serif;
  -webkit-appearance: none;
  -webkit-text-size-adjust: 100%;
}

img {
  vertical-align: top;
  width: 100%;
  height: auto;
}

ruby {
  ruby-overhang: auto;
}

.sp {
  display: none !important;
}

a {
  outline: none;
}

a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}

/* 多言語選択 */
.langbutton {
  position: absolute;
  top: 6%;
  right: 7%;
  z-index: 1000;
  margin-top: 3%;
}

.langbutton2 select {
  width: 150px;
  height: 30px;
  padding-left: 10px;
  font-family: "EB Garamond";
  font-size: 16px;
  color: rgb(255, 255, 255);
  background-color: rgba(0, 0, 0, 0);
  -webkit-appearance: none;
  appearance: none;
  border-color: rgb(255, 255, 255);
  display: inline-block;
  display: none;
}

.langbutton2 {
  position: absolute;
  top: 2em;
}

select {
  width: 150px;
  height: 30px;
  padding-left: 10px;
  font-family: "EB Garamond";
  font-size: 16px;
  color: rgb(255, 255, 255);
  background-color: rgba(0, 0, 0, 0);
  -webkit-appearance: none;
  appearance: none;
  border-color: rgb(255, 255, 255);
  display: inline-block;
}

select:hover {
  cursor: pointer;
}

select::-ms-expand {
  display: none; /* デフォルトのスタイルを無効(IE用) */
}

.langbutton::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #fff;
  margin-top: 1px;
}

option {
  color: #000;
}

.selector-hide {
  display: none;
}

/* ハンバーガーメニュー */
.drawer {
  position: relative;
  width: 100%;
  color: #fff;
}

.header-logo_sp {
  display: none;
}

/* チェックボックスは非表示に */
.drawer-hidden {
  display: none;
}

/* ハンバーガーアイコンの設置スペース */
.drawer-open {
  width: 48px;
  height: 45px;
  display: flex;
  align-items: center;
  position: absolute;
  right: 3%;
  z-index: 1100;
  margin-top: 3%;
  /* 重なり順を一番上に */
  cursor: pointer;
}

/* ハンバーガーメニューのアイコン */
.drawer-open span {
  width: 50px;
  height: 1px;
  display: flex;
  position: absolute;
  background: #fff;
  border-radius: 3px;
  transition: 0.2s;
}

/* 三本線の上 */
.drawer-open span:nth-of-type(1) {
  top: 0;
  width: 50px;
}

/* 三本線の真ん中 */
.drawer-open span:nth-of-type(2) {
  width: 40px;
  top: 10px;
  right: 0;
}
/* 三本線の下 */
.drawer-open span:nth-of-type(3) {
  width: 30px;
  top: 20px;
  right: 0;
}

.drawer-open p {
  width: 100%;
  right: 0;
  padding-top: 30px;
  font-family: "EB Garamond";
  font-size: 12px;
  letter-spacing: 0;
  text-align: right;
}

/* アイコンがクリックされたら真ん中の線を透明に */
#drawer-check:checked ~ .drawer-open span:nth-of-type(2) {
  opacity: 0;
}

/* ×印に上下の線を回転 */
#drawer-check:checked ~ .drawer-open span:nth-of-type(1) {
  width: 40px;
  top: 10px;
  right: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#drawer-check:checked ~ .drawer-open span:nth-of-type(3) {
  width: 40px;
  top: 10px;
  right: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* メニューのデザイン */
.drawer-content {
  width: 100%;
  height: 100%;
  position: fixed;
  font-size: 12px;
  background-color: rgba(33, 33, 90, 0.9);
  backdrop-filter: blur(15px);
  /* メニュー隠す */
  z-index: -1;
  opacity: 0;
  transition: 0.3s;
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
  .drawer-content {
    background-image: url("./img/header/header-img.jpg");
  }
}

_:-ms-lang(x)::-ms-backdrop,
.drawer-content {
  background-image: url("./img/header/header-img.jpg");
}

.drawer-content > ul {
  max-width: 1120px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  height: 100%;
}

nav.drawer-content li ul {
  display: flex;
  flex-direction: column;
}

/*.drawer-content ul {
  width: 1012px;
  height: 100%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}*/

/*.top-li {
  width: 15%;
}

.bottom-li {
  width: 30%;
}*/

.li-wap {
  height: 250px;
}

.drawer-content li {
  margin-top: auto;
  margin-bottom: auto;
}

.drawer-content li ul li a {
  display: inline-block;
  position: relative;
}

.drawer-content li ul li a::after {
  content: "";
  width: 0;
  position: absolute;
  bottom: 1em;
  display: inline-block;
  left: 0;
  border-bottom: solid 1px #fff;
  transition: 0.25s;
}

.drawer-content li ul li a:hover::after {
  width: 100%;
}

.drawer-content a {
  width: auto;
  color: #fff;
  text-align: left;
  padding-bottom: 20px;
  font-family: "Sawarabi Mincho";
}

.drawer-item-fontsize {
  font-size: 16px;
}

/* アイコンクリック、メニュー表示 */
#drawer-check:checked ~ .drawer-content {
  opacity: 1;
  z-index: 999;
}

/* 共通 */
.page-btn a {
  padding: 10px 40px;
  border-radius: 30px;
  font-size: 16px;
  transition: 0.3s;
}

.hover-opacity a {
  transition: 0.3s;
}

.hover-opacity a:hover {
  opacity: 0.8;
}

.br_520 {
  display: none;
}

/* フッター */
.footer-menu {
  width: 100%;
  display: grid;
  place-items: center;
  background-color: #333333;
  font-size: 12px;
  text-align: center;
}

.footer-menu img {
  max-width: 416px;
  padding: 80px 0;
}

.footer-menu > ul {
  margin: 0 auto;
  max-width: 1065px;
  width: 90%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  /* margin: 0 auto; */
  padding-bottom: 25px;
  border-bottom: 1px solid #cccccc;
}

.footer-menu li ul {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  font-family: "Sawarabi Mincho";
  height: auto;
  text-align: left;
}

.footer-menu li ul li {
  padding-bottom: 20px;
}

.footer-menu li ul li a {
  display: inline-block;
  position: relative;
}

.footer-menu li ul li a::after {
  content: "";
  width: 0;
  position: absolute;
  bottom: 0;
  display: block;
  left: 0;
  border-bottom: solid 1px #fff;
  transition: 0.25s;
}

.footer-menu li ul li a:hover::after {
  width: 100%;
}

.footer-menu ul a {
  /* width: 100%;*/
  color: #fff;
  text-align: left;
}

/*.footer-menu li {
  width: 40%;
  height: 250px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  font-family: "Sawarabi Mincho";
}*/

/*  コンタクト */
.contact-wrap {
  width: 1065px;
  display: inline-flex;
  padding: 60px 0;
  color: #fff;
}

.contact-left {
  width: 60%;
  text-align: left;
}

.contact-left h4 {
  font-family: "Sawarabi Mincho";
  font-size: 16px;
}

.contact-left p {
  line-height: 20px;
  letter-spacing: 2px;
}

.contact-left p,
.contact-right p {
  font-size: 12px;
  font-family: "Sawarabi Mincho";
}

.contact-right p {
  letter-spacing: 1px;
  line-height: 1.5;
}

.contact-right {
  width: 40%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  font-family: "EB Garamond";
  text-align: right;
}

.contact-right span {
  font-size: 10px;
}

.contact-left a {
  color: #fff;
  border-bottom: 1px solid #fff;
}

/* レスポンシブ */
@media screen and (max-width: 1366px) {
  /* 多言語選択 */
  .langbutton {
    right: 120px;
  }
}

@media screen and (max-width: 1064px) {
  html,
  body {
    width: 100%;
    height: auto;
    min-width: 1366px;
    overflow: auto;
  }

  /* フッター */
  /*
  .footer-menu,
  .footer-menu ul {
    width: 100%;
    height: 100%;
    min-width: 1903px;
    overflow: auto;
  }
*/
}

@media screen and (max-width: 768px) {
  /* 共通 */
  html,
  body {
    width: 100%;
    height: auto;
    min-width: auto;
    overflow-x: hidden;
  }

  body {
    font-family: "Sawarabi Mincho", serif;
  }

  p,
  th,
  td {
    font-size: 24px;
    letter-spacing: 2px;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block !important;
  }

  .page-btn a {
    font-size: 28px;
    border-radius: 50px;
    font-family: "Sawarabi Mincho";
  }

  /* 多言語選択 */
  .langbutton {
    right: 15%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    z-index: 2;
    margin-top: 0;
  }

  select {
    width: 120px;
    height: 40px;
    color: #000;
    background-color: #e8e8ee;
    border-color: #e8e8ee;
    font-size: 14px;
    border-radius: 0;
  }

  .langbutton2 select {
    display: inline-block;
    height: 40px;
    padding-left: 10px;
    color: rgb(255, 255, 255);
    background-color: rgba(0, 0, 0, 0);
    border-color: rgb(255, 255, 255);
  }

  .langbutton::after {
    display: none;
  }

  .iPhone .langbutton2::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #fff;
    margin-top: 1px;
  }

  .iPhone select {
    text-align: left;
  }

  .Android .langbutton2 select {
    padding-left: 0;
    text-align: center;
  }

  .Android select {
    padding-left: 0;
    text-align: center;
  }

  /* ヘッダー */
  .drawer {
    min-width: none !important;
    height: 137px;
    border-top: 6px solid #21215a;
    box-sizing: border-box;
  }

  .header-logo_sp {
    width: 53%;
    display: block;
    position: absolute;
    top: 50%;
    left: 3%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }

  /* ハンバーガーボタン */
  .drawer-open span {
    position: absolute;
    background-color: #000;
  }

  .drawer-open p {
    font-size: 15px;
    color: #000;
  }

  .drawer-open {
    width: 72px;
    height: 63px;
    margin-top: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }

  /* 三本線の上 */
  .drawer-open span:nth-of-type(1) {
    width: 72px;
  }

  /* 三本線の真ん中 */
  .drawer-open span:nth-of-type(2) {
    width: 57px;
    top: 14px;
  }
  /* 三本線の下 */
  .drawer-open span:nth-of-type(3) {
    width: 43px;
    top: 29px;
  }

  /* ×印 */
  #drawer-check:checked ~ .drawer-open span:nth-of-type(1),
  #drawer-check:checked ~ .drawer-open span:nth-of-type(3) {
    width: 50px;
    background-color: #fff;
  }

  #drawer-check:checked ~ .drawer-open p {
    color: #fff;
  }

  /* メニュー */
  .drawer-content {
    top: 0;
    font-size: 24px;
    overflow: auto;
    padding-left: 50px;
  }

  .drawer-content ul {
    /*    width: 70%;*/
    display: inline-block;
    margin: 50px 0;
  }

  nav.drawer-content li ul {
    display: flex;
    flex-direction: column;
  }
  .drawer-content li {
    width: 100%;
    height: auto;
    padding-bottom: 15px;
    margin-top: 0;
    margin-bottom: 0;
  }

  .bottom {
    padding-bottom: 15px;
  }

  .drawer-item-fontsize {
    font-size: 32px;
  }

  /* フッター */
  .footer-menu {
    display: block;
  }

  .footer-menu a {
    width: max-content;
  }

  .footer-menu img {
    width: 70%;
    max-width: none;
    padding-left: 50px;
  }

  .footer-menu ul {
    margin: 0 auto;
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-menu li {
    width: 100%;
    height: auto;
    flex-wrap: inherit;
    gap: 0;
  }

  /*  .footer-bottom {
    padding-bottom: 40px;
  }*/

  .contact-wrap {
    width: 90%;
    flex-direction: column;
  }

  .contact-left {
    text-align: left;
    width: 100%;
  }

  .contact-left h4 {
    font-size: 31px;
  }

  .contact-left p {
    font-size: 24px;
    line-height: 1.5;
  }

  .contact-left span {
    display: none;
  }

  .contact-right {
    width: 100%;
    justify-content: flex-start;
    align-items: flex-start;
    padding-top: 70px;
    text-align: left;
  }

  .contact-right p {
    width: 100%;
    font-size: 23px;
  }

  .contact-right span {
    font-size: 20px;
  }
}

@media screen and (max-width: 520px) {
  /* 共通 */
  .page-btn a {
    font-size: 16px;
  }

  .br_520 {
    display: block;
  }

  /* 多言語選択 */
  .langbutton {
    right: 17%;
  }

  /* ヘッダー */
  .header-logo_sp {
    width: 43%;
  }

  .drawer {
    height: 93px;
  }

  .drawer-open {
    width: 49px;
    height: 43px;
  }

  /* 三本線の上 */
  .drawer-open span:nth-of-type(1) {
    width: 49px;
    right: 0;
  }

  /* 三本線の真ん中 */
  .drawer-open span:nth-of-type(2) {
    width: 38px;
    top: 10px;
  }
  /* 三本線の下 */
  .drawer-open span:nth-of-type(3) {
    width: 29px;
    top: 20px;
  }

  .drawer-open p {
    font-size: 10px;
  }

  /* ×印 */
  #drawer-check:checked ~ .drawer-open span:nth-of-type(1),
  #drawer-check:checked ~ .drawer-open span:nth-of-type(3) {
    width: 30px;
  }

  /* メニュー */
  .drawer-content {
    font-size: 16px;
  }

  .drawer-content ul {
    margin: 30px 0;
  }

  .drawer-ul:first-child {
    margin-top: 70px;
  }

  .drawer-content li {
    padding-bottom: 0;
  }

  .bottom {
    padding-bottom: 0;
  }

  .drawer-item-fontsize {
    font-size: 18px;
  }

  .fontsize_520 {
    font-size: 18px;
  }

  .space-520 {
    margin-bottom: 40px !important;
  }

  /* フッター */
  .footer-menu img {
    padding: 10% 0 11% 5%;
  }

  .contact-left h4 {
    font-size: 18px;
  }

  .contact-left p {
    font-size: 14px;
  }

  .contact-right p,
  .contact-right span {
    font-size: 11px;
  }

  .contact-right {
    padding-top: 48px;
  }
}

@media screen and (max-width: 375px) {
  /* 多言語選択 */
  .langbutton {
    right: 75px;
  }

  .langbutton2 select {
    width: 120px;
    height: 30px;
    font-size: 12px;
    display: block;
  }

  select {
    width: 90px;
    height: 30px;
    font-size: 12px;
  }

  .header-logo_sp {
    width: 46%; /* 20220215 追加 */
  }

  /* ヘッダー */
  .drawer {
    height: 71px;
  }

  .drawer-ul:first-child {
    margin-top: 100px;
  }

  .page-btn a {
    font-size: 14px;
  }

  .contact-left h4 {
    font-size: 16px;
  }

  .contact-left p,
  .contact-right p {
    font-size: 12px;
  }

  .contact-right span {
    font-size: 10px;
  }

  .contact-right {
    padding-top: 32px;
  }

  .contact-wrap {
    padding: 43px 0 70px;
  }

  .drawer-content {
    font-size: 12px;
    padding-left: 58px;
  }

  .drawer-item-fontsize {
    font-size: 16px;
  }

  .drawer-content a {
    padding-bottom: 15px;
  }

  .drawer-content ul {
    margin: 0;
  }

  ul.drawer-ul {
    margin: 96px 0 30px;
  }

  ul.bottom_375 {
    margin: 30px 0;
  }

  .bottom-space_375_2 {
    padding-bottom: 5px !important;
  }

  .bottom-space_375 {
    padding-bottom: 5px !important;
  }

  .footer-font {
    font-size: 14px;
  }

  .font-size-375 {
    font-size: 14px;
  }
}