/****
* Theme Name: ys theme3 child
* Description: ys theme3の子テーマ
* Template: ys-theme3
***/

html {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif, "游ゴシック体", "游ゴシック", sans-serif;
  font-size: 62.5%; /* 1rem=10px 1.6rem=16px */
  font-weight: 500;
}
h1, h2, h3, h4, h5,
.archive-entry-title,
.site-title, .fw-bold {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif, "游ゴシック体", "游ゴシック", sans-serif;
  font-weight: 900;
}
footer {
    background-color: #0064b9;
    color: rgba(255,255,255,0.75);
}

/****
* ヘッダー
***/
.header-fix-cover {
  background: none;
  transition: 0.6s;
}
.header-fix-cover header a,
.header-description {
  color: rgba(255,255,255,0.78);
}
.header-fix-cover.scroll {
    background: #fff;
    height: 60px;
    transition: 0.6s;
}
.header-fix-cover.scroll header a,
.header-fix-cover.scroll .header-description {
  color: rgba(0,0,0,0.78);
}
#container-box { /* ヘッダーメニュー分下げる */
  margin-top: 0px;
}
.top-menu-pc ul li a {
    background: none;
    color: rgba(255,255,255,0.9);
    padding: 0.4em 0.5em;
}
.top-menu-pc ul.sub-menu li a {
    background: none;
    color: rgba(0,0,0,0.9);
}
li[class~="menu-item-has-children"] a:after {
    color: rgba(255,255,255,0.5);
}
li[class~="menu-item-has-children"] a.scroll:after {
    color: rgba(0,0,0,0.5);
}
@media screen and (max-width: 1020px) {
    .header-fix-cover {
        background: #fff;
}
    #container-box {
        margin-top: 60px;
}
    .header-fix-cover header a {
        color: rgba(0,0,0,0.9);
}
}
@media screen and (max-width: 1020px){
#container-box {
    margin-top: 0;
}
}
.site-title {
    width: 170px;
}
/****
* TOP画像
***/
.img-contents-cover {
    position: relative;
}

.img-contents-cover.black-filter:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.35);
  z-index: 2;
}

.img-contents-inner {
    position: absolute;
    top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    width: 70%;
    color: rgba(242,240,237,0.78); /* 白 */
    z-index: 3;
}
@media screen and (max-width: 767px){
  .img-contents-inner {
    width: 90%;
}
}

.img-contents-inner h2 {
    color: rgba(255,255,255,0.9); /* 白 */
}

.catch-copy {
    font-size: 4rem;
}
@media screen and (max-width: 767px){
.catch-copy {
    font-size: 2.6rem;
    margin-top: 1.8em;
}
}

.img-contents-100fit { /* 画像全画面fit */
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    background-size: cover;
    background-position: center center;
}

/****
* news
***/
.news_actab {
    line-height: 1.8;
}
.news_latest {
    margin-left: 10px;
    margin-top: 1em;
    font-size: 1.6rem;
}
.news_actab .cp_actab {
    margin-top: 1em;
    font-size: 1.4rem;
}
.news_actab .cp_actab-content {
    margin-top: 0.5em;
    margin-left: 10px;
}

/****
* 背景色
***/
.bgc-blue {
    background-color: #deeaf9;
}
.bgc-gray {
    background-color: #F4F4F4;
}
.bgc-white {
    background-color: #FFF;
}
.bgc-black {
    background-color: #1B1B1B;
    color: rgba(255,255,255,0.75);
}
.bgc-black h2,
.bgc-black h3 {
    color: rgba(255,255,255,0.9);
}
/****
* 文字関係
***/
.midashi {
    font-size: 3.6rem;
    font-weight: normal;
}
@media screen and (max-width: 767px){
.midashi {
    font-size: 3rem;
    font-weight: normal;
}
}
/****
* ボタン
***/
.button-gold,
a.button-gold {
  display: inline-block;
  border: 1px solid rgba(0,100,185,1);
  background-color: rgba(0,100,185,1);
  color: rgba(255,255,255,0.92); /* 白 */
  padding: 0.5em 2em;
}
.button-gold:hover {
  animation: anime-gold 1s ease-in-out;
}
@keyframes anime-gold {
  0%{ background-color: rgba(0,100,185,0.75); }
  100%{ background-color: rgba(0,100,185,1); }
}
/****
* 水平線
***/
.hr-gold {
  width: 40px;
  margin: 1em 0!important;
  border-top: solid 2px #0064b9;
  border-bottom: 0px;
  border-right: 0px;
  border-left: 0px;
}
.hr-gold-center {
  width: 40px;
  margin: 1em auto!important;
  border-top: solid 2px #0064b9;
  border-bottom: 0px;
  border-right: 0px;
  border-left: 0px;
}
/****
* 枠線
***/
.border-all {
    border-top: 1px solid rgba(255,255,255,0.45);
    border-right: 1px solid rgba(255,255,255,0.45);
    border-bottom: 1px solid rgba(255,255,255,0.45);
    border-left: 1px solid rgba(255,255,255,0.45);
    width: 100%;
    height: 180px;
    line-height: 2;
}

/****
* 右下にBOXが大きくはみ出るコンテンツ　モバイルでは重なり解除
***/
.brbox-cover {
  position: relative;
}
.brbox-cover.black-filter:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.35);
  z-index: 2;
}
.brbox-left {
  position: absolute;
    top: 16%;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 90%;
    margin: 0 auto;
    padding: 0 50px;
    color: rgba(255,255,255,0.75);
    z-index: 3;
}
.brbox-left-inner {
    width: 50%;
    margin: 0 auto 0 0;
}
@media screen and (max-width: 767px){
.brbox-cover.black-filter:before{
  display: none;
  background-color: none;
}
.brbox-left-inner {
    width: 100%;
    margin: 0 0 0 0;
}
}
.brbox-left h2 {
    color: rgba(255,255,255,0.9);
}

.brbox-right {
  position: absolute;
    top: 0;
    right: 50px;
    width: 40%;
    margin-top: 25%;
    z-index: 4;
}

@media screen and (max-width: 767px){
.brbox-left {
  position: static;
    top: 0;
    width: 86%;
    max-width: 86%;
    margin: 1em auto 2em;
    padding: 0 0;
    color: rgba(0,0,0,0.75);
}
.brbox-left h2 {
    color: rgba(0,0,0,0.9);
}
    .brbox-right {
  position: static;
    top: 0;
    right: 0;
    width: 86%;
    max-width: 86%;
    margin-top: 0;
    margin: 0 auto;
}
}
/****
* テーブル
***/
.infotable table {
  border-top: 1px solid #ddd;
  border-collapse: collapse;
  margin: 0 auto;
}
.infotable th {
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 5px;
  width: 30%;
  font-weight: normal;
}
.infotable td {
  border-bottom: 1px solid #ddd;
  padding: 5px 10px;
  text-align: left;
  font-weight: normal;
}
@media screen and (max-width: 767px){
.infotable table {
  border-top: 1px solid #ddd;
}
.infotable th {
  border-right: 0px solid #ddd;
  border-bottom: 0px solid #ddd;
  width: 100%;
  display: block;
  padding-top: 1em;
}
.infotable td {
  width: 100%;
  display: block;
  padding-bottom: 1em;
}
}
/* ボタン右下fix */
.button-fixed {
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 50;
}
/**
* swiper
*/
.swiper-container01 {
      width: 100%;
      height: 100vh;
    }
.swiper-container01 .swiper-slide {
      background-position: center;
      background-size: cover;
    }

