@charset "UTF-8";

@media screen and (min-width: 540px) {}

@media screen and (min-width: 640px) {}

@media screen and (min-width: 782px) {}

@media screen and (min-width: 980px) {}

/* Global
------------------------------------------------------------ */

/* Root font-sizeをremで指定する */
html,
html:lang(ja) {
  font-size: 62.5%;
}

body,
body:lang(ja) {
  font-size: 13px;
  font-size: 1.3rem;
}

@media screen and (min-width: 782px) {

  body,
  body:lang(ja) {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 980px) {

  body,
  body:lang(ja) {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* Base */
body,
body:lang(ja) {
  margin: 0 auto;
  line-height: 1.8;
}

/* Heading */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 2.4rem;
}

/* Text */
p {
  margin-bottom: 2.4rem;
}

/* List */
ul,
ol {
  margin: 0 0 2.4rem 2.4rem;
}

/* Table */
table {
  margin-bottom: 2.4rem;
  font-size: 100%;
}

caption {
  margin-bottom: 0.8rem;
  font-weight: bold;
}

table caption {
  margin-bottom: 0;
  font-weight: normal;
  font-size: 90%;
  text-align: right;
}

table th,
table td {
  padding: 1.2rem;
  display: block;
  width: auto;
}

table th,
table td {
  border-bottom: none;
}

table tr:last-child td {
  border-bottom: solid 1px rgba(238, 238, 238, 1);
  /* #EEEEEE */
}

@media screen and (min-width: 640px) {

  table th,
  table td {
    padding: 1.6rem;
    display: table-cell;
    border: solid 1px rgba(238, 238, 238, 1);
    /* #EEEEEE */
  }
}

/* Elements */
address {
  margin: 0 0 2.4rem;
}

hr {
  margin: 2.4rem 0;
  height: 0;
  background-color: transparent;
  clear: both;
}

/* Form */
button,
input,
select,
textarea {
  -webkit-appearance: none;
  font-family: inherit;
}

input[type="tel"] {
  border: solid 1px rgba(230, 230, 230, 1);
  /* #E6E6E6 */
  color: rgba(119, 119, 119, 1);
  /* #777777 */
  margin-top: 0.6em;
  padding: 0.6em;
}

input[type="tel"]:focus {
  color: rgba(68, 68, 68, 1);
  /* #444444 */
}

textarea {
  max-width: 960px;
}

/* Repeatable Patterns
------------------------------------------------------------ */
/* Alignments */
.aligncenter,
.alignleft,
.alignright {
  margin-bottom: 1.6rem;
}

.alignleft {
  margin-right: 1.6rem;
}

.alignright {
  margin-left: 1.6rem;
}

/* Caption */
.wp-caption {
  margin-bottom: 1.6rem;
  font-size: 95%;
}

.wp-caption img[class*="wp-image-"] {
  margin: 0.4rem auto 0;
}

.wp-caption .wp-caption-text {
  margin: 0.8rem 0;
}


/* Layout
------------------------------------------------------------ */
/* Base */
.single.no-sidebar .site-content,
.two-column.no-sidebar .site-content,
.archive.no-sidebar .site-content,
.blog.no-sidebar .site-content {
  max-width: 960px;
}

.page.no-sidebar .site-content {
  padding-left: 0;
  padding-right: 0;
  max-width: 100%;
}

.site-header {
  margin-bottom: 5.6rem;
}

.home .site-header {
  margin-bottom: 0;
}

.main-header {
  padding-bottom: 0;
  padding-top: 0;
}

.content-area {
  margin-bottom: 6.4rem;
}

.sidebar-area {
  padding-bottom: 0.8rem;
  padding-top: 6.4rem;
}

.page-header {
  margin-bottom: 5.6rem;
}

.hentry {
  margin-bottom: 7.2rem;
}

.single .hentry {
  margin-bottom: 5.6rem;
}

.footer-widget-area {
  padding-bottom: 2.4rem;
  padding-top: 6.4rem;
}

.site-bottom {
  padding-bottom: 2.4rem;
  padding-top: 2.4rem;
}


/* Header
------------------------------------------------------------ */
/* Top Bar */
.top-bar {
  padding-bottom: 0.4rem;
  padding-top: 0.4rem;
}

.top-bar-main {
  font-size: 90%;
}

.top-bar-main li::before {
  margin-right: 5px;
  top: 0px;
}

@media screen and (min-width: 782px) {
  .top-bar-main {
    font-size: 85%;
  }

  .top-bar-main li::before {
    top: -1px;
  }
}

/* Main Header */
.site-branding .site-logo {
  max-width: 320px;
}

.site-logo img {
  transform: scale(0.85, 0.85);
}

@media screen and (min-width: 782px) {
  .site-logo img {
    transform: scale(0.9, 0.9);
  }
}

@media screen and (min-width: 980px) {
  .site-logo img {
    transform: scale(0.95, 0.95);
  }
}


/* Menus
------------------------------------------------------------ */
/* Main Header Clone */
.main-header-clone {
  padding-bottom: 0;
  padding-top: 0;
}

/* Main Navigation */
.main-navigation {
  font-size: 100%;
  line-height: 40px;
}

/* Social Link */
.menu a::before {
  font-size: 22px;
  top: 1px;
}

.profilewidget-link.menu a::before {
  margin-right: 6px;
}


/* Featured Area
------------------------------------------------------------ */
/* Jumbotron */
.jumbotron-content {
  padding-bottom: 64px;
  padding-top: 64px;
}

.jumbotron-title {
  letter-spacing: 0;
}

@media screen and (min-width: 782px) {
  .jumbotron-content {
    padding-bottom: 96px;
    padding-top: 96px;
  }
}

@media screen and (min-width: 980px) {
  .jumbotron-content {
    padding-bottom: 128px;
    padding-top: 128px;
  }
}

/* Home Header */
/*
 カスタマイズ設定で"ホームページヘッダー"を有効にした場合に、
 TOPページにメインビジュアルが表示される
*/
.home-header-content {
  padding-bottom: 80px;
  padding-top: 80px;
}

.home-header-title {
  font-size: 2.4rem;
  letter-spacing: 0;
}

@media screen and (min-width: 782px) {
  .home-header-content {
    padding-bottom: 112px;
    padding-top: 112px;
  }

  .home-header-title {
    font-size: 2.6rem;
  }
}

@media screen and (min-width: 980px) {
  .home-header-content {
    padding-bottom: 144px;
    padding-top: 144px;
  }

  .home-header-title {
    font-size: 2.8rem;
  }
}


/* Featured Post */
/*
 カスタマイズ設定で"注目の投稿スライダー"を有効にした場合に、
 投稿一覧ページにスライダーが表示される
*/
.featured-entry-title {
  font-size: 2.0rem;
  letter-spacing: 0;
}

@media screen and (min-width: 601px) {
  .featured-entry-title {
    font-size: 2.0rem;
  }
}

@media screen and (min-width: 782px) {
  .featured-entry-title {
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 980px) {
  .featured-entry-title {
    font-size: 2.4rem;
  }
}


/* Content
------------------------------------------------------------ */
/* Category */
.cat-links {
  margin-bottom: 0.8rem;
}

/* Entry Header */
/*
 1,カスタマイズ設定で"ブログ設定"で"全文", "概要"を選択したときのentry-title。
 2,投稿の個別(single.php)のentry-title。
*/
.entry-title {
  letter-spacing: 0;
}

/* Entry Meta */
.entry-meta {
  margin-top: 0.8rem;
}

/* Featured Image */
.post-thumbnail {
  margin-bottom: 1.6rem;
}

/* Post Full / Post Summary */
/* カスタマイズ設定で"ブログ設定"で"全文", "概要"を選択したとき */
.post-full::after,
.post-summary::after {
  width: 48px;
}

/* Post Grid */
/* カスタマイズ設定で"ブログ設定"で"2カラム", "3カラム"を選択したとき */
.post-grid .entry-header {
  margin-bottom: 0.8rem;
}

/* Post List */
/* カスタマイズ設定で"ブログ設定"で"リスト"を選択したとき */
.post-list .entry-header {
  margin-bottom: 1.6rem;
}

/* Archive */
.page-title {
  margin-bottom: 0.8rem;
}

/* 404 */
.error-404 {
  margin-bottom: 9.6rem;
  margin-top: 9.6rem;
}

/* Gallery */
.gallery {
  margin-bottom: 3.2rem;
}

/* Content
------------------------------------------------------------ */
/* Sub Header */
.subheader {
  margin-bottom: 0.8rem;
}


/* Navigations
------------------------------------------------------------ */
/* Pagination */
.pagination {
  margin-bottom: 3.2rem;
}

.pagination .page-numbers {
  padding: 0.8rem 1.6rem;
  margin-right: 0.8rem;
}

/* Post Navigation */
.post-navigation {
  margin-bottom: 3.2rem;
}

.post-navigation .nav-previous {
  margin-bottom: 3.2rem;
}

.post-nav-title {
  letter-spacing: 0;
}


/* Widgets
------------------------------------------------------------ */
/* Heading */
.widget-title {
  letter-spacing: 0;
  margin-bottom: 2.0rem;
}

/* List */
.widget li {
  margin-bottom: 1.2rem;
}

.widget ul ul {
  margin-left: 1.2rem;
  margin-top: 1.2rem;
}

/* Recent Posts */
.widget_recent_entries li {
  margin-bottom: 1.6rem;
}

/* Search */
.widget_search input[type="search"] {
  max-width: 100%;
}

/* Tag Cloud */
.tagcloud a {
  padding: 4px 12px;
}

/* Calendar */
.widget_calendar table {
  max-width: 100%;
}

.widget_calendar td,
.widget_calendar th {
  display: table-cell;
}

/* BusinessPress Recent Posts */
.widget_businesspress_recent_posts li {
  margin-bottom: 1.6rem;
}

/* BusinessPress Featured Posts */
.featured-widget-entry {
  margin-bottom: 1.6rem;
}

.featured-widget-entry-title {
  font-size: 110%;
}

/* BusinessPress Profile */
.profilewidget-wrapper {
  margin-bottom: 2.4rem;
}

.widget .profilewidget-text li {
  margin-bottom: 0.8rem;
}

.profilewidget-profile img {
  border: solid 1px rgba(221, 221, 221, 1);
  /* #DDDDDD */
}


/* Footer
------------------------------------------------------------ */
/* Footer */
.footer-navigation ul {
  margin-bottom: 3.2rem;
}

.footer-navigation li {
  margin-right: 1.6rem;
}

.footer-social-link {
  margin-bottom: 2.4rem;
}

.site-copyright,
.site-credit {
  margin-bottom: 0;
}


/* Plugins
------------------------------------------------------------ */
/* Contact Form 7 */
/* Table */
@media screen and (min-width: 640px) {
  .wpcf7 table {
    table-layout: fixed;
  }

  .wpcf7 table th {
    width: 35%;
  }
}

/* Form */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="password"],
.wpcf7 input[type="search"],
.wpcf7 textarea,
.wpcf7 select {
  margin: 0;
  padding: 0.8rem;
  max-width: 100%;
  width: 100%;
  font-size: 100%;
}

.wpcf7 select {
  border-radius: 0;
}

.wpcf7 input[type="submit"] {
  margin: 0 auto 2.4rem;
  padding: 1.6rem 2.4rem;
  min-width: 240px;
  font-size: 100%;
  line-height: 1;
  font-weight: bold;
  border-radius: 0;
  border: solid 1px rgba(0, 75, 177, 1);
  /* #004BB1 */
}

/* 必須・任意 */
.required,
.optional {
  margin: 0;
  margin-left: 4px;
  padding: 0.4rem 0.8rem;
  display: inline-block;
  text-align: center;
  font-weight: normal;
  vertical-align: baseline;
  font-size: 85%;
  line-height: 1;
}

/* 必須のカラー */
.required {
  background-color: rgba(202, 92, 98, 1);
  /* #CA5C62 */
  color: rgba(255, 255, 255, 1);
  /* #ffffff */
}

/* 任意のカラー */
.optional {
  background-color: rgba(72, 185, 74, 1);
  /* #48b94a */
  color: rgba(255, 255, 255, 1);
  /* #ffffff */
}

/* フォーム入力に関するヒントのテキスト */
.form-hinttext {
  margin: 0;
  padding: 0.4rem 0.4rem 0;
  display: block;
  color: rgba(153, 153, 153, 1);
  /* #999999 */
  font-size: 90%;
  line-height: 1.4;
}

/* 必須項目に入力が無いときのinputの下に表示されるエラーメッセージ */
span.wpcf7-not-valid-tip {
  margin-top: 0.4rem;
  padding: 0.4rem 0.8rem;
  background-color: rgba(242, 222, 222, 1);
  /* #F2DEDE */
  border-color: rgba(227, 191, 191, 1);
  /* #e3bfbf */
  color: rgba(185, 74, 72, 1);
  /* #b94a48 */
  font-size: 90%;
}

.your-msg .wpcf7-not-valid-tip {
  margin-top: -0.2rem;
}

/* 送信前のご注意 */
.submit-caution {
  margin-bottom: 2.4rem;
  padding: 1.6rem 1.6rem;
  background-color: rgba(242, 222, 222, 1);
  /* #F2DEDE */
}

.submit-caution h3 {
  margin-bottom: 0.8rem;
  font-size: 105%;
}

.submit-caution ul {
  margin: 0 0 0.8rem 2.4rem;
}

.submit-caution a {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .submit-caution ul {
    margin-left: 1.6rem;
  }
}

/* Checkbox */
.submit-acceptance {
  padding-top: 0.8rem;
  border-top: dotted 1px rgba(153, 153, 153, 1);
  /* #999999 */
  font-size: 100%;
}

.submit-acceptance .wpcf7-form-control-wrap {
  display: block;
}

.submit-acceptance .wpcf7-list-item {
  margin: 0;
}

.submit-acceptance input[type=checkbox] {
  display: none;
}

.submit-acceptance .wpcf7-list-item-label {
  padding-left: 2.4rem;
  position: relative;
  font-weight: bold;
}

.submit-acceptance .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid rgba(153, 153, 153, 1);
  /* #999999 */
}

.submit-acceptance input[type=checkbox]:checked+.wpcf7-list-item-label {
  color: rgba(17, 17, 17, 1);
  /* #111111 */
}

.submit-acceptance input[type=checkbox]:checked+.wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  left: 4px;
  width: 6px;
  height: 12px;
  transform: rotate(45deg);
  border-bottom: 3px solid rgba(51, 51, 51, 1);
  /* #333333 */
  border-right: 3px solid rgba(51, 51, 51, 1);
  /* #333333 */
}

/* 送信結果のメッセージ文章(送信ボタンの下) デフォルトデザイン*/
.wpcf7 form .wpcf7-response-output {
  margin: 0 auto;
  padding: 0.8rem;
  background-color: rgba(222, 222, 242, 1);
  /* #dedef2 */
  border-color: rgba(191, 191, 227, 1);
  /* #bfbfe3 */
  color: rgba(74, 72, 185, 1);
  /* #4a48b9 */
  font-size: 105%;
}

/* 送信結果のメッセージ文章(送信ボタンの下) エラーの時 */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  background-color: rgba(242, 222, 222, 1);
  /* #F2DEDE */
  border-color: rgba(227, 191, 191, 1);
  /* #e3bfbf */
  color: rgba(185, 74, 72, 1);
  /* #b94a48 */
}

/* 送信結果のメッセージ文章(送信ボタンの下) 送信成功の時 */
.wpcf7 form.sent .wpcf7-response-output {
  background-color: rgba(222, 242, 222, 1);
  /* #def2de */
  border-color: rgba(191, 227, 191, 1);
  /* #bfe3bf */
  color: rgba(72, 185, 74, 1);
  /* #48b94a */
}

.wpcf7 .ajax-loader,
.wpcf7-spinner {
  margin: 0 auto;
  display: block;
}

/* Swiper Slider 7.0.1ver */
.swiper {
  overflow: hidden;
  position: relative;
}

/*
  画面の高さいっぱいに表示させる
  calc(100vh - ○○px) ←ヘッダーの高さを入力する
*/
.slider-home {
  //height: 100vh;
}

/* 前ページボタン・次ページボタン */
.swiper-button-prev {
  left: 12px;
}

.swiper-button-next {
  right: 12px;
}

.swiper-button-next,
.swiper-button-prev {
  width: 32px;
  height: 32px;
  line-height: 32px;
  border-radius: 50%;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 100%;
}

/* ページネーション */
.swiper-container-horizontal>.swiper-pagination-bullets {
  bottom: 1.6rem;
}

.swiper-pagination-bullet {
  width: 1.0rem;
  height: 1.0rem;
  opacity: 1;
  background-color: rgba(68, 68, 68, 1);
  /* #444444 */
}

.swiper-pagination-bullet-active {
  background-color: rgba(255, 255, 255, 1);
  /* #FFFFFF */
}

.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px;
}

.swiper-button-next,
.swiper-button-prev {
  color: rgba(255, 255, 255, 1);
  /* #FFFFFF */
}

/* Breadcrumb NavXT */
.breadcrumbs {
  margin-bottom: 4.0rem;
  border-bottom: solid 1px rgba(238, 238, 238, 1);
  /* #EEEEEE */
}

.breadcrumbs a {
  text-decoration: none;
}

/* Original
------------------------------------------------------------ */
/* Layout */
/*
 固定ページをCSSで、幅100%に設定しているので、
 max-widthが必要なときに使用する
*/
.width800,
.width880,
.width960,
.width1040,
.width1120 {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.width800 {
  max-width: 800px;
}

.width880 {
  max-width: 880px;
}

.width960 {
  max-width: 960px;
}

.width1040 {
  max-width: 1040px;
}

.width1120 {
  max-width: 1120px;
}

@media screen and (min-width: 782px) {

  .width800,
  .width880,
  .width960,
  .width1040,
  .width1120 {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/* flex
  <div class="flexbox flexbox-col2 flex-">
    <div class="flex-item">

    </div><!-- .flex-item end -->

    <div class="flex-item">

    </div><!-- .flex-item end -->
  </div><!-- .flexbox end -->
*/
.flexbox {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  gap: 2.4rem;
}

.flex-item {
  margin: 0;
}

.flexbox-col2 .flex-item,
.flexbox-col3 .flex-item {
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}

.flexbox-col4 .flex-item {
  -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
  flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
}

@media screen and (min-width: 540px) {
  .flexbox-col3 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
  }
}

@media screen and (min-width: 782px) {
  .flexbox {
    gap: 3.2rem;
  }

  .flexbox-col2 .flex-item,
  .flexbox-col4 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(32px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(32px / 4) * 2));
  }

  .flexbox-col3 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(32px / 6) * 4));
    flex-basis: calc(calc(100% / 3) - calc(calc(32px / 6) * 4));
  }
}

@media screen and (min-width: 980px) {
  .flexbox {
    gap: 4.0rem;
  }

  .flexbox-col2 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
  }

  .flexbox-col3 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(40px / 6) * 4));
    flex-basis: calc(calc(100% / 3) - calc(calc(40px / 6) * 4));
  }

  .flexbox-col4 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 4) - calc(calc(40px / 8) * 6));
    flex-basis: calc(calc(100% / 4) - calc(calc(40px / 8) * 6));
  }
}

/* Button */
a.btn {
  margin: 3.2rem 0 0;
  padding: 1.6rem 2.4rem;
  display: inline-block;
  min-width: calc(240px - 50px);
  /* 左右のpadding + 左右のborder */
  font-weight: bold;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  border: solid 1px rgba(0, 75, 177, 1);
  /* #004BB1 */
}

a.btn::after {
  margin-left: 0.8rem;
  font-family: FontAwesome;
  content: '\f178';
}

/* iframe */
/*
iframeで埋め込むEmbedな動画を画面いっぱいにCSSだけでレスポンシブ対応で表示
*/
.embed-container {
  padding-top: 56.25%;
  position: relative;
  overflow: hidden;
  height: 0;
  max-width: 100%;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Image*/
/*
  CSS だけで画像縦横比を維持したレスポンシブ対応
  <div class="aspect-group">
    <div class="aspect-bgimage" style="background-image: url(画像のURL)"></div>
  </div><!-- .aspect-group end -->
*/
.aspect-group-tate {
  margin: 0 auto;
  max-width: 280px;
  text-align: center;
}

.aspect-bgimage {
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  padding-top: 62.5%;
  /* 8:5(黄金比) */
  /*padding-top: 57.14%;*/
  /* 7:4(白銀比) */
  /*padding-top: 33.33%;*/
  /* 9:3(青銅比) */
  /*padding-top: 75%;*/
  /* 4:3 */
  /*padding-top: 66.66%;*/
  /* 3:2 */
  /*padding-top: 56.25%;*/
  /* 16:9 */
  /*padding-top: 50%;*/
  /* 2:1 */
  /*padding-top: 100%;*/
  /* 1:1 */
  width: 100%;
}

.aspect-group-tate .aspect-bgimage {
  padding-top: 150%;
  /* 2:3 */
}

@media screen and (min-width: 540px) {
  .aspect-group-tate {
    max-width: 90%;
  }
}

@media screen and (min-width: 782px) {
  .aspect-group-tate {
    max-width: 80%;
  }
}

@media screen and (min-width: 980px) {
  .aspect-group-tate {
    max-width: 70%;
  }
}

.overlay {
  position: absolute;
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  /* #000000 */
  z-index: 2;
}

/* video */
.video-group {
  margin: 0 auto 2.4rem;
  width: 100%;
  text-align: center;
}

.video-group video {
  width: 100%;
}

@media screen and (min-width: 540px) {
  .video-group {
    max-width: 80%;
  }
}

@media screen and (min-width: 980px) {
  .video-group {
    max-width: 800px;
  }
}

/* Other */
.margin-bottom0 {
  margin-bottom: 0;
}

.transition {
  transition: all .15s ease-in-out;
}

.transition02 {
  transition: 0.5s ease-in-out;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.font-bold {
  font-weight: bold;
}

.font-normal {
  font-weight: normal;
}

.align-center {
  text-align: center;
}

.align-right {
  text-align: right;
}

.tatetext {
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.color-red {
  color: rgba(202, 92, 98, 1);
  /* #CA5C62 */
  border-bottom: solid 1px rgba(202, 92, 98, 1);
  /* #CA5C62 */
  font-weight: bold;
}

.text-uppercase {
  text-transform: uppercase;
  /* 全ての文字を大文字にする */
}

.text-capitalize {
  text-transform: capitalize;
  /* 単語の先頭文字を大文字にする */
}

.letter-spacing2px {
  letter-spacing: 2px;
}

.text-indent2px {
  text-indent: 2px;
}

.box-shadow {
  box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 6px;
}

.text-shadow {
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}

.border-radius8 {
  border-radius: 8px;
}

.border-radius16 {
  border-radius: 16px;
}

.border-radius24 {
  border-radius: 24px;
}

.border-radius50 {
  border-radius: 50%;
}

.sp-block {
  display: block;
}

.pc-block {
  display: none;
}

@media screen and (min-width: 540px) {
  .sp-block {
    display: none;
  }

  .pc-block {
    display: block;
  }
}

/* Original Heading
------------------------------------------------------------ */
/* midashi-normal */
.midashi-normal .align-center {
  text-align: left;
  line-height: 1.8;
}

@media screen and (min-width: 540px) {
  .midashi-normal .align-center {
    text-align: center;
  }
}

/* midashi-large */
.midashi-large .align-center {
  text-align: left;
  line-height: 1.8;
}

.midashi-large .align-center br {
  display: none;
}

@media screen and (min-width: 540px) {
  .midashi-large .align-center {
    text-align: center;
    line-height: 2.0;
  }

  .midashi-large .align-center br {
    display: block;
  }
}
