/****
* 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;
}
@media screen and (max-width: 415px) {
#main-flex {
    padding: 10px;
}
}
/*
body.home {
    background: #0c2f4f; 
    color: rgba(255,255,255,0.78);
}
.home h2, .home h3, .home h4, .home h5, .home a {
    color: rgba(242,240,237,0.9);
}
*/
.single a, .category a, .archive a, .blog a {
    color: #0c2f4f;
}
@media screen and (max-width: 767px){
header {
    margin: 10px 0 0 0;
}
}

.header-fix-cover {
    position: absolute;
    background: #0c2f4f;
    border-bottom: 0px solid #f0f0f0;
    height: 60px;
}
@media screen and (max-width: 415px) {
  .header-fix-cover {
    height: 54px;
  }
}
#container-box {
  margin-top: 60px;
}
@media screen and (max-width: 415px) {
  #container-box {
    margin-top: 54px;
  }
}
.title-copy {
    color:  rgba(255,255,255,1);
    padding: 5px 0 0 1.6em;
    font-weight: bold;
    font-size: 1.4rem;
}
@media screen and (max-width: 415px) {
  .title-copy {
    line-height: 1.4;
}
}

@media screen and (max-width: 1020px){
.top-menu-mobile {
    margin: 10px 0 0 0;
}
}
#slide-menu-inner {
    padding: 15px 20px 0 0;
}

/* footer {
  background: #0c2f4f;
  color: rgba(242,240,237,0.78);
} */

.paging .prev a {
    border-left: 15px solid #0c2f4f;
}
.paging .next a {
    border-right: 15px solid #0c2f4f;
}

/****
* 背景色
***/
.bgc-white {
  background: #fff;
  color: rgba(0,0,0,0.78);
}
.bgc-white h2,
.bgc-white h3,
.bgc-white h4 {
  color: rgba(0,0,0,0.9);
}
.bgc-blue {
  background: #0c2f4f; 
  color: rgba(255,255,255,0.78);
}
.bgc-blue h2,
.bgc-blue h3,
.bgc-blue h4,
.bgc-blue a {
  color: rgba(255,255,255,0.9);
}

/****
* 文字関係
***/
.kage {
    text-shadow:0px 0px 7px #000000;
}
.under-line { /* 下線 */
    border-bottom: 2px solid #0c2f4f;
}
.fs-26em {
    font-size: 2.6rem;
}
.fs-13em {
    font-size: 1.3rem;
}
.fs-14em {
    font-size: 1.4rem;
}
.fc-red {
    color: rgba(221,67,66,1);
}
.blog .entry p {
    margin: 2em 0;
}
.midashi {
    font-size: 3.6rem;
    font-weight: normal;
}
@media screen and (max-width: 767px){
.midashi {
    font-size: 3rem;
    font-weight: normal;
}
}


/****
* コンテンツの上にbox ページTOP,fotter
***/
.img-contents-cover,
.img-contents-cover-footer {
    position: relative;
}

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

.img-contents-inner,
.img-contents-inner-footer {
    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,
  .img-contents-inner-footer {
    width: 90%;
}
}

.img-contents-inner h2,
.img-contents-inner-footer h2 {
    color: #f2f0ed; /* 白 */
}

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

/****
* ボタンデザイン
***/

/* 赤 */
.button-red,
a.button-red {
  display: inline-block;
  border: 1px solid rgba(221,67,66,1); /* 赤 */
  background-color: rgba(221,67,66,1); /* 赤 */
  color: rgba(255,255,255,0.92); /* 白 */
  padding: 0.5em 2em;
}
.button-red:hover {
  animation: anime-red 1s ease-in-out;
}
@keyframes anime-red {
  0%{ background-color: rgba(221,67,66,0.75); /* 赤 */ }
  100%{ background-color: rgba(221,67,66,1); /* 赤 */ }
}
/* 白 */
.button-white,
a.button-white {
  display: inline-block;
  border: 1px solid rgba(255,255,255,1);
  background-color: rgba(255,255,255,1);
  color: rgba(0,0,0,0.75);
  padding: 0.5em 2em;
}
.button-white:hover {
  animation: anime-white 1s ease-in-out;
}
@keyframes anime-white {
  0%{ background-color: rgba(255,255,255,0.75); }
  100%{ background-color: rgba(255,255,255,1); }
}
/* 青 */
.button-blue,
a.button-blue {
  display: inline-block;
  border: 1px solid rgba(12,47,79,1);
  background-color: rgba(12,47,79,1);
  color: rgba(255,255,255,0.9);
  padding: 0.5em 2em;
}
.button-blue:hover {
  animation: anime-blue 1s ease-in-out;
}
@keyframes anime-blue {
  0%{ background-color: rgba(12,47,79,0.75); }
  100%{ background-color: rgba(12,47,79,1); }
}

/* ボタン右下fix */
.button-fixed {
  position: fixed;
  bottom: 16px;
  right: 16px;
  z-index: 50;
}

/****
* 縦書きflex
***/
.flex-tategaki-box-reverse {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 500px;
}
@media screen and (max-width: 767px){
  .flex-tategaki-box-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: auto;
}
}
@media screen and (max-width: 374px){
  .flex-tategaki-box-reverse {
    line-height: 1.9;
}
}

.flex-tategaki-col1 {
    padding: 0px;
    margin: 0;
}

.tateyokogaki { /* 縦書き */
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px){
    .tateyokogaki { /* 横書き */
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        text-align: center;
}
}

.tateyokogaki-suuji { /* 縦書き数字は横 */
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}
@media screen and (max-width: 767px){
    .tateyokogaki-suuji { /* 元に戻す */
        -webkit-text-combine: none;
        -ms-text-combine-horizontal: none;
        text-combine-upright: none;
}
}

.tateyokogaki .gyoukan {
    margin-left: 2em;
}
@media screen and (max-width: 767px){
.tateyokogaki .gyoukan {
    margin-left: 0em;
    margin-bottom: 2em;
}
}


.ml1_5em {
    margin-left: 1.5em !important;
}
@media screen and (max-width: 374px){
.ml1_5em {
    margin-left: 1em !important;
}
}

/****
* 職人リスト
***/
.flex-box-entrylist {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .flex-box-entrylist { /* モバイルでは縦並びに */
    flex-direction: column;
  }
}

.flex-col1-entrylist {
  flex-basis: calc( (100% - 3em) / 3);
  padding: 20px;
  margin: 0.5em;
  border: 1px solid rgba(0,0,0,0.2);
}
@media screen and (max-width: 767px) {
  .flex-col1-entrylist { /* モバイル表示が崩れる機種対策 */
    flex-basis: 10px;
    flex-basis: auto;
  }
}

/****
* 動画の上の再生ボタン
***/
.play-button-cover {
    position: relative;
}

.play-button-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
}

.play-button-circle {
  display: inline-block;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  border: solid 1px #fff;
  text-align:center;
  line-height: 160px;
  font-size: 3em;
}
@media screen and (max-width: 767px) {
.play-button-circle {
  width: 100px;
  height: 100px;
  line-height: 100px;
  font-size: 2em;
}
}

.play-button {
    padding-left: 0.2em;
}

a.play-button-circle {
    color: #fff;
}

/****
* 右下にBOXが大きくはみ出るコンテンツ　モバイルでは重なり解除
***/
.brbox-cover {
  position: relative;
    margin-bottom: 5em;
}
@media screen and (max-width: 767px){
.brbox-cover {
    margin-bottom: 2em;
}
}
.brbox-cover:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.3);
  z-index: 2;
}
@media screen and (max-width: 850px){
.brbox-cover:before{
  background-color: rgba(0,0,0,0);
}
}
.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: 850px){
.brbox-left-inner {
    width: 100%;
    margin: 0 0 0 0;
}
}
.brbox-left h2 {
    color: rgba(255,255,255,0.95);
}

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

@media screen and (max-width: 850px){
.brbox-left {
  position: static;
    top: 0;
    width: 86%;
    max-width: 86%;
    margin: 1em auto 2em;
    padding: 0 0;
}
.brbox-right {
  position: static;
    top: 0;
    right: 0;
    width: 86%;
    max-width: 86%;
    margin-top: 0;
    margin: 0 auto;
}
}

.con-title {
    font-size: 3rem;
    font-weight: bold;
}
@media screen and (max-width: 850px){
.con-title {
    font-size: 2.6rem;
    font-weight: bold;
}
}
.con-subtitle {
    font-size: 1.4rem;
}

/****
* flexボタン下揃え
***/
.flex-box-button { 
  display: flex;
  flex-direction: column;
}
.flex-box-button .flex-button {
  margin-top: auto;
}

/****
* 最新の投稿（サムネイル）
***/
img.attachment-100x100 {
        margin: 0 12px 0 0;
        float: left;
}
/****
* 動画縦幅調整
***/
@media screen and (max-width: 1023px){
.object-fit-video400 {
    height: 400px;
}
}
@media screen and (max-width: 767px){
.object-fit-video400 {
    height: auto;
}
}
/****
* 個別ページ調整
***/
.paging .prev span,
.paging .next span {
  font-size: 1.3rem;
}
.writer {
    background-color: #f8f8f8;
    padding: 1.4em 3em;
    margin: 5em 0 2em;
}
.writer p {
    margin: 0.5em 0!important;
}
/****
* topスライダー
***/
.slideshow {
  position: relative;
  width: 100%;
  height: 94vh;
  overflow: hidden;
}
@media screen and (max-width: 767px){
.slideshow {
  height: 45vh;
}
}
.slideshow-image {
  position: absolute;
  width: 100%;
  height: 100%;
  background: no-repeat 50% 50%;
  background-size: cover;
  animation-name: slide;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-duration: 10s;
  opacity: 1;
}
.slideshow-image:nth-child(1) {
  animation-name: slide-1;
  z-index: 4;
}
.slideshow-image:nth-child(2) {
  animation-name: slide-2;
  z-index: 3;
}

@keyframes slide-1 {
	0% {
    opacity: 0;
	}
    47% {
    opacity: 0;
    }
    53% {
    opacity: 1;
    }
    95% {
    opacity: 1;
    }
    100% {
    opacity: 0;
    }
}
@keyframes slide-2 {
	0% {
	opacity: 1;
	}
	47% {
	opacity: 1;
	}
    53% {
    opacity: 0;
    }
    95% {
    opacity: 0;
    }
    100% {
    opacity: 1;
    }
}
