/****
* Theme Name: ys theme3
* Author: yuka
* Description: オリジナルテーマ
* Version: 3.0
***/

/****
* 基本構造のcss
***/

html {
  font-family: "游ゴシック体", "游ゴシック", YuGothic, "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 62.5%; /* 1rem=10px 1.6rem=16px */
  font-weight: 500;
}

body {
  font-size: 1.6rem;
  line-height: 2.2;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: rgba(0,0,0,0.78);
}

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

a {
  text-decoration: none;
  color: rgba(0,0,0,0.9);
}

.single a,
.category a,
.archive a,
.blog a {
  text-decoration: none;
  color: #284b83;
}

h1 {
  font-size: 3rem;
  line-height: 1.3;
  font-weight: bold;
  color: rgba(0,0,0,0.9);
}

h2 {
  font-size: 2.6rem;
  line-height: 1.3;
  font-weight: bold;
  color: rgba(0,0,0,0.9);
}
@media screen and (max-width: 767px) {
  h2 {
    font-size: 2.3rem;
  }
}

h3 {
  font-size: 2.2rem;
  line-height: 1.3;
  font-weight: bold;
  color: rgba(0,0,0,0.9);
}
@media screen and (max-width: 767px) {
  h3 {
    font-size: 2rem;
  }
}

h4 {
  font-size:  1.8rem;
  line-height: 1.3;
  font-weight: bold;
  color: rgba(0,0,0,0.9);
}

h5 {
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: bold;
  color: rgba(0,0,0,0.9);
}

/**
* 404ページ
*/
.error404 {
  margin-top: 160px;
  margin-bottom: 160px;
  padding: 0 30px;
}

/**
* wordpressで斜体になる文字リセット
*/
i,
cite,
em,
var,
address,
dfn {
  font-style: normal;
}

ul {
  list-style-type: none;
}

/**
* コンテンツ内
*/

#container-box { /* ヘッダーメニュー分下げる */
  margin-top: 84px;
  overflow: hidden;
}
@media screen and (max-width: 415px) {
  #container-box {
    margin-top: 70px;
  }
}

#container-flex { /* 2カラムの時はこちら */
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
  display: flex;
}
@media screen and (max-width: 767px) {
  #container-flex { /* モバイルでは1カラムに */
    flex-direction: column;
  }
}

/**
* メインコンテンツ
*/
#main {
  margin: 0;
}

#main-flex { /* 2カラムの時はこちら */
  flex-basis: 700px;
  flex-grow: 1;
  padding: 20px;
}

.entry p {
  margin: 1em 0;
}

#main .entry-title,
#main-flex .entry-title,
.blog-entry-title .entry-title{ /* 記事タイトル */
  font-size: 2.8rem;
  line-height: 1.2;
  border-bottom: 1px solid #ccc;
  border-top: none;
  border-right: none;
  border-left: none;
  padding: 0.1em 0.5em 0.1em 0;
}

.blog-entry-title,
.content-area.blog-entry-title {
  margin: 2em auto;
  text-align: center;
}


/* アーカイブ表示 */

.archive-entry-title { /* アーカイブ表示時の記事タイトル */
  font-size: 2rem;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  color: rgba(0,0,0,0.9);
}

.archive-entry {
  font-size: 1.4rem;
}

#main-flex article {
  margin-top: 30px;
}

.blog #main-flex article {
  margin-top: 30px;
  margin-bottom: 60px;
}

article aside {
  font-size: 1.2rem;
  text-align: right;
  margin: 0.5em 0 3em 0;
}

.blog-entry-title aside {
  font-size: 1.2rem;
  text-align: center;
  margin: 1em;
}

article aside .fa,
.blog-entry-title aside .fa {
  padding: 0 1px 0 6px;
}

article aside .e-time,
.blog-entry-title aside .e-time {
  font-size: 1.2rem;
}

/**
* 前の記事 次の記事
*/
.paging {
  display: flex;
  justify-content: space-between;
  margin: 5em 0;
}

.paging .prev {
  flex-grow:1;
  text-align: left;
}

.paging .prev a {
    border-left: 15px solid #ddd;
    background-color: #f0f0f0;
    padding: 0.2em 0.5em;
    margin-right: 2em;
    display: inline-block;
    width: 85%;
}

.paging .next {
  flex-grow:1;
  text-align: right;
}

.paging .next a {
    border-right: 15px solid #ddd;
    background-color: #f0f0f0;
    padding: 0.2em 0.5em;
    margin-left: 2em;
    display: inline-block;
    width: 85%;
}

/**
* サイドバー
*/
#sidebar-flex {
  flex-basis: 300px;
  flex-grow: 1;
  padding: 20px;
  font-size: 1.4rem;
}

#sidebar-flex section {
  margin-top: 30px;
}

#sidebar-flex ul {
  list-style-type: none;
  margin-left: 10px;
}

.widget-title {
  font-size: 1.6rem;
  border-bottom: 1px solid #ddd;
  margin: 10px 0;
}

.widget-area .post-date {
  font-size: 1.0rem;
}

#wp-calendar {
  width: 95%;
  height: auto;
}

#wp-calendar tbody {
  text-align: center;
}

.screen-reader-text {
  display: none;
}

input,
select,
textarea {
  font-size: 1.3rem;
  padding: 4px;
  border: solid 1px #ddd;
  width: 100%;
}

[type="submit"] {
  font-size: 1.3rem;
  padding: 4px 10px;
  border: solid 1px #ddd;
  width: auto;
}

.widget-area label {
  background: #fff;
}

.widget_archive {
    position: relative;
}

.widget_archive::before {
    content: "";
    width: 0;
    height: 0;
    border: 7px solid transparent;
    border-top: 10px solid #ccc;
    position: absolute;
    top: 76%;
    right: 10px;
    margin: -2px 0 0 0;
}

.widget_archive select {
  width: 100%;
  max-width: 100%;
  padding: 2px 10px;
  appearance: none;
  border: 1px solid #ddd;
  background-color: none;
}

/**
* ヘッダー
*/

.header-fix-cover {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 84px;
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
  padding: 0 20px;
}
@media screen and (max-width: 415px) {
  .header-fix-cover {
    width: 100%;
    height: 70px;
    padding: 0 20px;
  }
}

.header-fix-cover header a,
.header-description {
  text-decoration: none;
  color: rgba(0,0,0,0.78);
}

.header-description {
  font-size: 1.3rem;
  line-height: 1.2;
}

.header-fix {
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 415px) {
  .header-fix {
    width: 100%;
    max-width: 100%;
  }
}

header {
  margin: 10px 0 0 0;
}

.header-left {
  float: left;
    display:flex;
  align-items: center;
}

.header-right {
  float: right;
  padding: 0;
}

.site-title {
  font-size: 3rem;
  font-weight: bold;
  width: 200px;
  color: rgba(0,0,0,0.9);
    flex:0 1 auto;
}
@media screen and (max-width: 415px) {
  .site-title {
    font-size: 2.3rem;
  }
}

/**
* PC用上部メニュー
*/

.top-menu {
  font-size: 1.3rem;
}

/* 親メニュー */
.top-menu-pc ul {
  height: 70px;
  list-style-type: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
}

.top-menu-pc ul li {
  position: relative; /* 子メニューのabsoluteのため */
  float: left;
  margin: 0 0.4em;
  padding: 0;
}

.top-menu-pc ul li a {
  display: block;
  margin: 0;
  padding: 0.4em 0.8em;
  background: #fff;
  color: rgba(0,0,0,0.9);
}

/* 子メニュー */
.top-menu-pc ul li ul { /* 縦に並べる */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  background: #fff;
  padding: 0;
  width: 160px; /* 子・孫メニューの横幅 */
  height: auto;
  position: absolute; /* 親メニューのrelativeの下にくっつける */
  top: 100%;
}

.top-menu-pc ul li ul li {
  width: 100%;
  margin: 0 0;
  color: rgba(0,0,0,0.9);
}

.top-menu-pc ul > li > ul > li,
.top-menu-pc ul > li > ul > li > ul > li { /* 最初非表示 */
  overflow: hidden;
  height: 0;
  padding: 0 0;
  opacity: 0; /* 以下表示アニメーション */
  transition: .3s;
}

.top-menu-pc ul > li:hover > ul > li,
.top-menu-pc ul > li > ul > li:hover > ul > li{ /* マウスオーバーで表示 */
  overflow: visible;
  height: 2.3em;
  padding: 2em 0;
  opacity: 1; /* 表示アニメーション */
  display:flex;
  align-items: center;
}

.top-menu-pc ul > li > ul > li a,
.top-menu-pc ul > li > ul > li > ul > li a{
flex:0 1 auto;
}

/* 孫メニュー */
.top-menu-pc li ul li ul {
  top: 0;
  left: 100%; /* 子メニューの右側に表示 */
  width: 100%;
}

.top-menu-pc li:last-child ul li ul,
.top-menu-pc li:nth-last-child(2) ul li ul { /* 最後と最後から2番目のメニューの孫を左側に表示 */
  left: -100%;
  width: 100%;
}

/* メニュー前後の矢印 */
.top-menu-pc li ul li ul:before { /* 孫メニューの前 */
  position: absolute;
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  top: 6px;
  margin-left: -20px;
  color: rgba(0,0,0,0.5);
}

.top-menu-pc li:last-child ul li ul:before,
.top-menu-pc li:nth-last-child(2) ul li ul:before { /* 最後と最後から2番目のメニューの孫メニューの前 */
  position: absolute;
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  top: 6px;
  left: 200%;
  margin-left: -20px;
  color: rgba(0,0,0,0.5);
}

.top-menu-pc li ul li:hover ul:before { /* 孫メニューの前・マウスオーバー時 */
  position: absolute;
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  top: 6px;
  margin-left: -20px;
  color: rgba(0,0,0,0.5);
}

.top-menu-pc li:last-child ul li:hover ul:before,
.top-menu-pc li:nth-last-child(2) ul li:hover ul:before { /* 最後と最後から2番目のメニューの孫メニューの前・マウスオーバー時 */
  position: absolute;
  content: "\f104";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  top: 6px;
  left: 200%;
  margin-left: -20px;
  color: rgba(0,0,0,0.5);
}

li[class~="menu-item-has-children"] a:after { /* 子があるメニューの後ろ */
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: 3px;
  color: rgba(0,0,0,0.5);
}

@media screen and (max-width: 850px) {
  li[class~="menu-item-has-children"] a:after {
    content: "";
  }
}

li[class~="menu-item-has-children"] ul a:after {
  content: "";
}

.sub-menu li a:before { /* 子・孫メニューの前 */
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 5px;
  color: rgba(0,0,0,0.5);
}

.top-menu-mobile { /* モバイル用メニュー非表示 */
  display: none;
}

/**
* モバイル用上部メニュー
*/

.menu-button { /* ハンバーガーメニューの位置 */
  display: block;
  text-align: right;
  margin: 0 0 0 0;
  padding: 0;
  line-height: 1;
}

.menu-button1 { /* ハンバーガーメニュー */
  font-size: 3rem;
}

.menu-button2 { /* ハンバーガーメニュー下の文字 */
  font-size: 1rem;
}

.menu-button a { /* ハンバーガーメニューの色 */
  color: rgba(0,0,0,0.9);
}

/* スライドインメニュー */
#slide-menu {
  position: fixed;
  top: 0;
  right: -280px;
  width: 280px;
  height: 100%;
  background: #F9F9F9;
  z-index: 20;
}

#slide-menu-inner {
  height: 100%;
  overflow: auto;
  padding: 29px 20px 0 0;
}

.header-fix-cover header #slide-menu a {
  color: rgba(0,0,0,0.9);
}

/* スライドインメニュー内部 */
@media screen and (max-width: 1020px) {
  .top-menu-pc {
    /* PCメニュー非表示 */
    display: none;
  }
  .top-menu-mobile {
    display: inherit;
  }
  .top-menu-mobile .menu a {
   color: rgba(0,0,0,0.9);
  }
  nav ul {
    /* 縦に並べる */
    background-color: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap;
    list-style-type: none;
    margin: 0 0 0 1.5em;
  }
  nav ul ul {
    /* 縦に並べる　サブメニュー */
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    background: none;
    box-shadow: none;
    padding: 0;
    transition: 0;
    width: auto;
    height: auto;
  }
  .top-menu-mobile li a {
    display: block;
    margin: 0 2px;
    padding: 0.3em 0;
    position: relative;
  }
  .top-menu-mobile li ul a {
    margin-right: 0.6em;
  }
}

/**
* フッター
*/

/* footer {
  margin: 0 auto;
  padding: 20px 0;
  background: #f9f9f9;
  font-size: 1.4rem;
  position: absolute;
  left: 0;
  width: 100%;
  box-shadow: 0px 10px 20px -5px rgba(0, 0, 0, 0.1) inset;
}

footer .footer-area {
  width: 100%;
  max-width: 100%;
  text-align: left;
  margin: 0 auto;
} */

/**
* 左右余白ありのコンテンツエリア
*/
.content-area {/* 1カラムの基本コンテンツエリア */
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .content-area,
  .content-area-mobile {
    width: 86%;
    max-width: 86%;
    margin: 0 auto;
    padding: 0;
  }
}

/* 以下flexアイテムの中でもOK */
.content-w90per {
  width: 90%;
  margin: 0 auto;
}

.content-w80per {
  width: 80%;
  margin: 0 auto;
}

.content-w70per {
  width: 70%;
  margin: 0 auto;
}

.content-w60per {
  width: 60%;
  margin: 0 auto;
}

.content-w50per {
  width: 50%;
  margin: 0 auto;
}

@media screen and (max-width: 1023px) {
  .content-w70per,
  .content-w60per,
  .content-w50per {
    width: 80%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .content-w90per,
  .content-w80per,
  .content-w70per,
  .content-w60per,
  .content-w50per {
    width: 86%;
    margin: 0 auto;
  }
  
  .content-area .content-w90per,
  .content-area .content-w80per,
  .content-area .content-w70per,
  .content-area .content-w60per,
  .content-area .content-w50per {
    width: 100%;
  }
}

/**
* flexでグリッドレイアウト
*/

/* flexコンテナ */

.flex-box,
.flex-box-row { /* flexコンテナ。基本(左から右並び) */
  display: flex;
  flex-direction: row;
}

.flex-box-reverse { /* flexコンテナ。逆順(右から左並び) */
  display: flex;
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .flex-box,
  .flex-box-reverse { /* flexコンテナ。基本・逆順、モバイルでは縦並びに */
    flex-direction: column;
  }
}

.flex-box-vertical { /* flexコンテナ。縦並び */
  display: flex;
  flex-direction: column;
}

.flex-box-nowrap { /* flexコンテナ。改行無し */
  display: flex;
  flex-wrap: nowrap;
}

.flex-center { /* flexコンテナに追加。天地左右中央揃え */
  align-items: center;
}


/* flexアイテム */

.flex-col1 { /* flexアイテム。膨張率1。余白あり */
  flex-basis: 10px;
  flex-grow: 1;
  padding: 20px;
  margin: 0;
}

.flex-nomargin-col1 { /* flexアイテム。膨張率1。余白なし */
  flex-basis: 10px;
  flex-grow: 1;
  margin: 0;
}

.flex-col1-waku-l { /* flexアイテム。膨張率1。余白あり */
  flex-basis: 10px;
  flex-grow: 1;
  padding: 1em;
  margin: 0em 0.5em 1em 0em;
}
.flex-col1-waku-c { /* flexアイテム。膨張率1。余白あり */
  flex-basis: 10px;
  flex-grow: 1;
  padding: 1em;
  margin: 0em 0.5em 1em 0.5em;
}
.flex-col1-waku-r { /* flexアイテム。膨張率1。余白あり */
  flex-basis: 10px;
  flex-grow: 1;
  padding: 1em;
  margin: 0em 0em 1em 0.5em;
}

.flex-col2 { /* flexアイテム。膨張率2。余白あり */
  flex-basis: 10px;
  flex-grow: 2;
  padding: 20px;
  margin: 0;
}

.flex-nomargin-col2 { /* flexアイテム。膨張率2。余白なし */
  flex-basis: 10px;
  flex-grow: 2;
  margin: 0;
}

.flex-col3 { /* flexアイテム。膨張率3。余白あり */
  flex-basis: 10px;
  flex-grow: 3;
  padding: 20px;
  margin: 0;
}

.flex-nomargin-col3 { /* flexアイテム。膨張率3。余白なし */
  flex-basis: 10px;
  flex-grow: 3;
  margin: 0;
}

.flex-nomargin-col1 img,
.flex-nomargin-col2 img,
.flex-nomargin-col3 img { /* 余白なしでは画像を横幅いっぱいに */
  min-width: 100%;
}


.flex-nomargin-col1.img-logo img,
.flex-nomargin-col2.img-logo img,
.flex-nomargin-col3.img-logo img { /* 画像横幅100%解除 */
  min-width: auto;
}

@media screen and (max-width: 767px) {
  .flex-col1,
  .flex-col2,
  .flex-col3 { /* モバイル表示が崩れる機種対策 */
    padding: 10px 0;
    flex-basis: auto;
  }
  
  .flex-col1-waku-l,
  .flex-col1-waku-c,
  .flex-col1-waku-r {
    padding: 1em;
    margin: 0em 0em 1em 0em;
    flex-basis: auto;
}
  
  .flex-nomargin-col1,
  .flex-nomargin-col2,
  .flex-nomargin-col3 { /* モバイル表示が崩れる機種対策 */
    flex-basis: auto;
  }
}

/* flexbox nomargin-col2をレスポンシブで1に */
.flex-nomargin-col2-mobile1 {
    flex-basis: 10px;
    flex-grow: 2;
    margin: 0;
}
@media screen and (max-width: 1023px){
.flex-nomargin-col2-mobile1 {
    flex-grow: 1;
}
}
@media screen and (max-width: 767px){
.flex-nomargin-col2-mobile1 {
    flex-basis: auto;
}
}

/****
* 画像の下をクリップ
***/
.clip-contents-cover-after {
    background-color: #ffffff; /* 白 */
    clip-path: polygon(0% 50px, 100% 0%, 100% 100%, 0% 100%);
    height: auto;
    margin-top: -80px;
}
@media screen and (max-width: 415px){
.clip-contents-cover-after {
    clip-path: polygon(0% 6.25vw, 100% 0%, 100% 100%, 0% 100%);
    margin-top: -54px;
}
}

/****
* アコーディオン
***/
.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label {
	font-weight: bold;
	line-height: 3;
	position: relative;
	display: block;
	padding: 0 0 0 1em;
	cursor: pointer;
	margin: 0 0 1px 0;
	border: 1px solid rgba(26,23,20,0.78); /* 黒 */
}
.cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 1s;
	transition: max-height 1;
}
.cp_actab .cp_actab-content p {
	margin: 1em;
}
/* :checked */
.cp_actab input:checked ~ .cp_actab-content {
	max-height: 40em;
}
/* Icon */
.cp_actab label::after {
	line-height: 3;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 3em;
	height: 3em;
	-webkit-transition: all 1s;
	transition: all 1s;
	text-align: center;
}
.cp_actab input[type=checkbox] + label::after {
	content: '▼';
}
.cp_actab input[type=checkbox]:checked + label::after {
	transform: rotateX(180deg);
}
.cp_actab label + p {
  height: 0;
  margin: 0 0;
}

/**
* 余白制御
*/

/* line heightを0に */
.lh-0 {
  line-height: 0!important;
}

.p-0 p,
p.p-0 {
  margin: 0 0!important;
  height: 0!important;
}

/* margin topとbottom */
.mt05em {
  margin-top: 0.5em!important;
}

.mb05em {
  margin-bottom: 0.5em!important;
}

.mt1em {
  margin-top: 1em!important;
}

.mb1em {
  margin-bottom: 1em!important;
}

.mt2em {
  margin-top: 2em!important;
}

.mb2em {
  margin-bottom: 2em!important;
}

.mt3em {
  margin-top: 3em!important;
}

.mb3em {
  margin-bottom: 3em!important;
}

.mt4em {
  margin-top: 4em!important;
}

.mb4em {
  margin-bottom: 4em!important;
}

.mt5em {
  margin-top: 5em!important;
}

.mb5em {
  margin-bottom: 5em!important;
}

.mt6em {
  margin-top: 6em!important;
}

.mb6em {
  margin-bottom: 6em!important;
}

.mt7em {
  margin-top: 7em!important;
}

.mb7em {
  margin-bottom: 7em!important;
}

.mt8em {
  margin-top: 8em!important;
}

.mb8em {
  margin-bottom: 8em!important;
}

.mt9em {
  margin-top: 9em!important;
}

.mb9em {
  margin-bottom: 9em!important;
}

.mt10em {
  margin-top: 10em!important;
}

.mb10em {
  margin-bottom: 10em!important;
}

@media screen and (max-width: 767px) {
  .mt6em,
  .mt7em,
  .mt8em,
  .mt9em,
  .mt10em,
 { /* モバイルでは6em以降は全部5emにする */
    margin-top: 5em!important;
  }
    
  .mb6em,
  .mb7em,
  .mb8em,
  .mb9em,
  .mb10em { /* モバイルでは6em以降は全部5emにする */
    margin-bottom: 5em!important;
  }
}

/* margin leftとright */

.ml1em {
  margin-left: 1em!important;
}

.mr1em {
  margin-right: 1em!important;
}

.ml2em {
  margin-left: 2em!important;
}

.mr2em {
  margin-right: 2em!important;
}

/* padding topとbottom */

.pt05em {
  padding-top: 0.5em!important;
}

.pb05em {
  padding-bottom: 0.5em!important;
}

.pt1em {
  padding-top: 1em!important;
}

.pb1em {
  padding-bottom: 1em!important;
}

.pt2em {
  padding-top: 2em!important;
}

.pb2em {
  padding-bottom: 2em!important;
}

.pt3em {
  padding-top: 3em!important;
}

.pb3em {
  padding-bottom: 3em!important;
}

.pt4em {
  padding-top: 4em!important;
}

.pb4em {
  padding-bottom: 4em!important;
}

.pt5em {
  padding-top: 5em!important;
}

.pb5em {
  padding-bottom: 5em!important;
}

/* padding leftとright */

.pl1em {
  padding-left: 1em!important;
}

.pr1em {
  padding-right: 1em!important;
}

.pl2em {
  padding-left: 2em!important;
}

.pr2em {
  padding-right: 2em!important;
}

/**
* 文字関係
*/

.center {
  text-align: center;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

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

/**
* ページ内リンクずれ解消
*/

.inlink {
  margin-top: -84px;
  padding-top: 84px;
}


/**
* メニューアイコン調整
*/

.menuicon {
  padding: 0.5em;
}

.menuicon img {
  margin: 0 auto;
}


/**
* 動画関係
*/

/* TOP画面いっぱいの動画 */
.top_movie {
  background: #fff;
  width: 100%;
  height: 100%;
}

.top_movie_cover video {
  vertical-align:bottom;
}

/* 動画の上に文字 */
.video-letter {
  position: relative;
  }

.video-letter div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  height: 60%;
  }

.video-letter div img {
    width: 70%;
}

/* youtubeレスポンシブ */

.movie {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.movie iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* iframe 上限横幅640px */
.movie640 {
  width: 100%;
  max-width: 640px;
  max-height: 360px;
  margin: 0 auto;
}


/**
* マップ関係
*/

/* Googleマップレスポンシブ */
.g-map {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.g-map iframe,
.g-map object,
.g-map embed {
  position: absolute;
  right: 0;
  left: 0;
  width: 85%;
  height: 85%;
  margin: 0 auto;
}

/* Googleマップ横幅いっぱい */
.g-map-100 iframe,
.g-map-100 object,
.g-map-100 embed {
  width: 100%;
  height: 500px;
  margin: 0 auto;
  vertical-align:bottom;
}

@media screen and (max-width: 767px) {
.g-map-100 iframe,
.g-map-100 object,
.g-map-100 embed {
  width: 100vw;
  height: 300px;
  margin: 0 auto;
}
}

/****
* 引用文デザイン
***/

blockquote {
  border: solid 1px #ddd;
  padding: 0 2em;
  position:relative;
  z-index:1;
}

blockquote:before, blockquote:after{
  font-family:"Font Awesome 5 Free";
  font-size:3rem;
  line-height:1em;
  color:#ddd;
  position:absolute;
  z-index:-1;
}
blockquote:before{
  content:"\f10d";
  left:5px;
  top:5px;
}
blockquote:after{
  content:"\f10e";
  right:5px;
  bottom:5px;
}

/**
* リンク下線
*/
.link-bottom {
  border-bottom: 1px solid #222;
}

/****
* 枠線
***/

.border-all { /* 全部 */
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  .borderall {
    border-top: 1px solid #ddd;
    border-right: none;
    border-bottom: 1px solid #ddd;
    border-left: none;
  }
}

.border-top { /* 上辺 */
  border-top: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  .border-top { /* モバイルでは非表示 */
    border-top: none;
  }
}

.border-right { /* 右辺 */
  border-right: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  .border-right { /* モバイルでは非表示 */
    border-right: none;
  }
}

.border-left { /* 左辺 */
  border-left: 1px solid #ddd;
}
@media screen and (max-width: 767px) {
  .border-left { /* モバイルでは非表示 */
    border-left: none;
  }
}

.border-bottom { /* 下辺 */
  border-bottom: 1px solid #ddd;
}

/****
* PCのみ改行
***/
.onlyPC {
    display: block !important;
}
@media screen and (max-width: 767px){
.onlyPC {
    display: none !important;
}
}

/****
* スマホのみ改行
***/
.onlySP {
    display: none !important;
}
@media screen and (max-width: 767px){
.onlySP {
    display: block!important;
}
}
