@charset "UTF-8";

@font-face {
font-family: "FontSerif";
src: url("../font/utsukushi.eot?");
src: url("../font/utsukushi.eot?#iefix")format('embedded-opentype'),
url("../font/utsukushi.woff")format('woff'),
url("../font/utsukushi.ttf")format('truetype');
}

/*======================
ページ表示　fadein
=======================*/
body {
animation: fadeIn 2s ease 0s 1 normal;
-webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}

/*======================
base
=======================*/
html{
min-height: 100%;
position: relative;
font-size: 62.5%;
}

body{
font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-size: 1.4em;
/*background: #fdfdea;*/
/*background: url(../img/bg_main.png);*/
background: #f8f9fa;
color: #2d1b0b;
margin-bottom: 10em;
-webkit-text-size-adjust: 100%;
}

/*======================
common
=======================*/
/*-- clearfix --*/
.clearfix:after {
content: "";
display: block;
clear: both;
}

/*-- フォント明朝 --*/
.font_serif {
font-family: "FontSerif", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
transform: rotate(.028deg);
}

/*-- outer --*/
.outer {
width: 900px;
margin-left: auto;
margin-right: auto;
}

/*-- inner --*/
.inner {
width: 800px;
margin-left: auto;
margin-right: auto;
}

/*-- contents --*/
.contents {
min-width: 900px;
margin-left: auto;
margin-right: auto;
position: relative;
}

/*======================
pagetop
=======================*/
.gotop {
position: fixed;
bottom: 1%; right: 5%;
}

.gotop a {
font-size: 2.4rem;
font-size: 24px;
text-decoration: none;
color: #FFF;
text-align: center;
line-height: 60px;
background: #2d1b0b;
opacity: 0.9;
border-radius: 50%;
width: 60px;
height: 60px;
display: block;
}

.gotop a:hover {
opacity: 0.6;
}

/*======================
header
=======================*/
.header {
width: 100%;
min-width:900px;
background: url(../img/bg_strp01.png);
}

.hd_inner {
width: 900px;
margin-left: auto;
margin-right: auto;
padding-top: 14px;
padding-bottom: 14px;
}

.hd_left {
width: 280px;
float: left;
}

.hd_hostname {
font-size: 1.1rem;
font-size: 11px;
font-weight: bold;
}

.logo_hfc img {
width: 220px;
height: auto;
margin-top: 8px;
}

.hd_attention {
width: 430px;
float: right;
margin-top: 6px;
font-size: 1.1rem;
font-size: 11px;
line-height: 1.4em;
padding-left:1em;
text-indent:-1em;
}

/*======================
hero_box
=======================*/
.hero_box {
position: relative;
margin-top: 20px;
}

.hero_img {
z-index: 1;
}

.hero_cacth {
background: url(../img/bg_dot01.png);
color: #FFF;
font-size: 3.2rem;
font-size: 32px;
letter-spacing: -0.02em;
line-height: 1.4em;
padding: 40px;
z-index: 2;
position: absolute;
left: -40px; bottom: -60px;
}

/*======================
Page title
=======================*/
.pagettl_box {
margin-top: 20px;
}

.release_date {
font-size: 1.1rem;
font-size: 11px;
float: right;
margin-top: 20px;
}

.sub_catch {
background: #e2a2b1;
border-radius: 4px;
padding: 8px 10px;
display: inline-block;
color: #FFF;
}

.ttl_mssg {
font-size: 4.2rem;
font-size: 42px;
line-height: 1.3em;
margin-top: 16px;
padding-bottom: 18px;
background: url(../img/bg_dot02.png) repeat-x 0 bottom;
}

.title {
font-size: 2.8rem;
font-size: 28px;
margin-top: 18px;
}

.profile_box {
width: 90%;
max-width: 900px;
margin: 2em auto 0;
border: solid 1px #686868;
padding: 1.5em;
font-size: 1.4rem;
font-size: 14px;
line-height: 1.5em;
position: relative;
}

.profile_box::before {
content: "profile";
font-size: 1.8rem;
font-size: 18px;
color: #DACEBD;
position: absolute;
top: .6em;
right: .6em;
font-family: "FontSerif", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
transform: rotate(.028deg);
letter-spacing: .08em;
}

.profile_box::after {
content: "";
display: block;
width: 2px;
height: 1.2em;
background: #504439;
position: absolute;
top: -.6em;
right: 2.8em;
z-index: 2;
transform: rotate(20deg)
}

.profile_box .name {
margin: 0 0 .5em;
display: block;
font-weight: bold;
}

.profile_box .name span {
font-size: 1.6rem;
font-size: 16px;
}

.lead {
margin-top: 100px;
font-size: 1.8rem;
font-size: 18px;
line-height: 1.5em;
}

.lead .attention {
margin: 1em 0 0;
font-size: 1.3rem;
font-size: 13px;
text-indent: -1em;
padding-left: 1em;
line-height: 1.4em;
}

.lead .attention::before {
content: "※";
}

/*======================
SNS Link
=======================*/
.share_box {
width: 800px;
margin-left: auto;
margin-right: auto;
background: url(../img/bg_strp04.png);
margin-top: 30px;
padding: 30px 20px 20px 20px;
}

.share_mssg {
font-size: 1.8rem;
font-size: 18px;
text-align: center;
}

.sns_link {
width: 100%;
list-style: none;
margin-top: 20px;
}

.sns_link .item {
float: left;
width: 32.6%;
margin-left: 1%;
}

.sns_link .item:first-child {
margin-left: 0;
}

.sns_btn {
font-size: 1.6rem;
font-size: 16px;
height: 60px;
text-align: center;
line-height: 60px;
display: block;
text-decoration: none;
color: #FFF;
border-radius: 4px;
}

.sns_btn.fb {
background: #3b5998;
border-bottom: solid 4px #1e3463;
}
.sns_btn.tw {
background: #607481;
border-bottom: solid 4px #000000;
}
/*
.sns_btn.tw {
background: #55acee;
border-bottom: solid 4px #4082b4;
}
*/
.sns_btn.line {
background: #00b900;
border-bottom: solid 4px #008600;
}

.sns_btn:active {
-ms-transform: translateY(4px);
-webkit-transform: translateY(4px);
transform: translateY(4px);
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
border-bottom: none;
}

/*======================
Headline
=======================*/
.hdline_box {
background: url(../img/bg_dot03.png);
padding-top: 28px;
padding-bottom: 18px;
margin-top: 60px;
}

.hdline {
font-size: 2.4rem;
font-size: 24px;
font-weight: normal;
line-height: 1.3em;
}

.subhead {
font-size: 1.6rem;
font-size: 16px;
line-height: 1.4em;
border-left: solid 3px #231815;
padding-top: 3px;
padding-bottom: 3px;
padding-left: 15px;
margin-top: 40px;
}

/*======================
article_box
=======================*/
.article_box {
margin-top: 20px;
}

.lft_img {
width: 460px;
float: left;
margin-right: 30px;
margin-bottom: 20px;
overflow: hidden;
}

.rght_img {
width: 460px;
float: right;
margin-left: 30px;
margin-bottom: 20px;
overflow: hidden;
}

.rght_img.portrait {
width: 280px;
float: right;
margin-left: 30px;
margin-bottom: 20px;
overflow: hidden;
}

.rght_img.portrait span {
display: block;
margin: .5em 0 0;
text-align: center;
font-size: 1.2rem;
font-size: 12px;
}

.lft_img img,
.rght_img img {
width: 100%;
height: auto;
}

.fll_img {
width: 800px;
text-align: center;
margin-left: auto;
margin-right: auto;
margin-top: 40px;
margin-bottom: 20px;
}

.fll_img img {
width: 100%;
height: auto;
}

.art_txt {
font-size: 1.6rem;
font-size: 16px;
line-height: 1.8em;
}

.interviewee {
font-weight: bold;
}

/* アニメーション前のスタイル */
.highlight {
  display: inline;
  position: relative;
  background-image: linear-gradient(90deg, #ffff66, #ffff66); /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 30%; /* '30%'の部分にマーカーの太さを記入 */
  transition: all 1s ease-in-out; /* マーカーを引く速度を調整 */
  font-weight: bold; /* ついでに太字にしたい場合 */
}

/* アニメーション発火時 */
.highlight.inview {
  background-size: 100% 30%; /* '30%'の部分は上で設定した太さに合わせる */
}

a.link_modal,
a.link_modal:link,
a.link_modal:visited {
color: #e2a2b1;
font-weight: bold;
text-decoration: underline;
text-underline-offset: .2em;
text-decoration-thickness: .15rem;
cursor: pointer;
}

a.link_modal:hover,
a.link_modal:active {
color: #e4b2be;
font-weight: bold;
text-decoration: none;
cursor: pointer;
}

.hero_cacth a.link_modal,
.hero_cacth a.link_modal:link,
.hero_cacth a.link_modal:visited {
color: #FFF;
}

.hero_cacth a.link_modal:hover,
.hero_cacth a.link_modal:active {
color: #FFF;
}

.intro_artcl {
margin-top: 60px;
}

.intro_artcl {
position: relative;
color: black;
border: 1px dotted #ad9570;
padding: 24px;
border-radius:  6px 0 6px 6px;
background: #FFF;
}

.intro_artcl_tab {/*タブ*/
position: absolute;
background: #ad9570;
color: #fff;
right: -1px;
bottom: 100%;
border-radius: 6px 6px 0 0;
padding: 0 10px;
height: 24px;
line-height: 24px;
font-size: 1.2rem;
font-size: 12px;
font-weight: normal;
letter-spacing: 0.05em
}

.intro_ttl {
font-size: 1.8rem;
font-size: 18px;
padding-left: 34px;
line-height: 1.4em;
background: url(../../../common/img/icon_hfc.png) no-repeat left top;
}

.intro_ttl a {
color: #2d1b0b;
text-decoration: none;
}

.intro_ttl a:hover {
color: #2d1b0b;
text-decoration: underline;
}

.intro_cap {
margin-top: 15px;
}

.intro_cap_img {
float: left;
margin-right: 20px;
}

.intro_cap_img img {
border: 1px solid #ad9570;
}

.intro_cap_txt {
line-height: 1.6em;
}

.intro_artcl_btn {
height: 32px;
line-height: 32px;
display: inline-block;
padding: 0 12px 0 30px;
text-decoration: none;
background: #a2d000;
color: #FFF;
border-bottom: solid 4px #708f02;
border-radius: 4px;
margin-top: 12px;
}

.intro_artcl_btn:active {
-ms-transform: translateY(4px);
-webkit-transform: translateY(4px);
transform: translateY(4px);
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
border-bottom: none;
}

.dwld_arrow {
background-image: url(../img/icon_arrow.png);
background-repeat: no-repeat;
background-size: 14px;
background-position: 10px 8px;
}


/*======================
Page Link
=======================*/
.link_box {
position: relative;
background: url(../img/bg_strp02.png);
margin-top: 38px;
text-align: center;
}

.link_txt {
font-size: 2.6rem;
font-size: 26px;
color: #231815;
display: block;
padding: 28px;
}

.link_box a {
font-size: 2.6rem;
font-size: 26px;
text-decoration: none;
color: #231815;
display: block;
padding: 28px;
cursor: pointer;
}

.link_box a:hover {
opacity: 0.6;
}

.link_box02 {
background: #fef5e2;
margin-top: 60px;
border-radius: 4px 4px 0 0;
}

.link_ttl_box {
color: #FFF;
padding: 0.3em 0.5em;
background: -webkit-repeating-linear-gradient(-45deg, #97b728, #97b728 4px,#99ba29 4px, #99ba29 8px);
background: repeating-linear-gradient(-45deg, #97b728, #97b728 4px,#99ba29 4px, #99ba29 8px);
border-radius: 4px 4px 0 0;
padding: 12px 12px 12px 54px;
}

.link_ttl {
position: relative;
font-size: 1.6rem;
font-size: 16px;
}

.link_ttl::before {
content: "";
diplay: inline-block;
background: url(../img/icon_share.png) no-repeat;
width: 42px;
height: 42px;
position: absolute;
background-size: contain;
bottom: -8px; left: -48px;
}

.link_item_box {
padding: 20px;
border-bottom: 1px dashed #ccc;
}

.link_item_box:last-child {
border-bottom: none;
}

.link_item_img {
float: left;
width: 160px;
height: auto;
}

.link_item_cap {
float: left;
width: calc( 100% - 180px );
margin-left: 20px
}

.link_item_cap_ttl {
margin-top: 4px;
font-size: 1.8rem;
font-size; 18px;
line-height: 1.4em;
position: relative;
}

.link_item_cap_ttl br {
display: none;
}

.icon_category {
display: inline-block;
background: #ea7f50;
color: #FFF;
border-radius: 4px;
font-size: 1.2rem;
margin-left: 8px;
padding: 0 8px;
position: absolute;
}

.link_item_cap_txt {
margin-top: 8px;
line-height: 1.6em;
}

.link_item_btn {
height: 38px;
line-height: 36px;
display: inline-block;
padding: 0 12px 0 30px;
text-decoration: none;
background: #a2d000;
color: #FFF;
border-bottom: solid 4px #708f02;
border-radius: 4px;
margin-top: 12px;
}

.link_item_btn:active {
-ms-transform: translateY(4px);
-webkit-transform: translateY(4px);
transform: translateY(4px);
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
border-bottom: none;
}

.link_arrow {
background-image: url(../img/icon_arrow.png);
background-repeat: no-repeat;
background-size: 14px;
background-position: 10px 10px;
}

/*======================
modal window
=======================*/
.modalwin {
width: 640px;
padding: 50px 50px 50px 50px;
/*background: #fefde9;*/
background: #f8f9fa;
border-radius: 8px;
position: fixed ;
display: none ;
z-index: 200 ;
box-shadow: 0 0 4px 0 rgba(0,0,0,0.6);
overflow: auto;
}

.no-scroll {
overflow: hidden;
height: 100%;
}

#modal-overlay {
z-index: 100 ;
display: none ;
position: fixed ;
top: 0 ;
left: 0 ;
width: 100% ;
height: 120% ;
background-color: rgba( 0,0,0, 0.6);
}

a.btn_wincls {
content: "";
display: block;
background: #e2a2b1;
width: 1.8em;
height: 1.8em;
position: absolute;
border-radius: .2em;
top: 10px; right: 10px;
cursor: pointer;
}

a.btn_wincls::after,
a.btn_wincls::before {
content: "";
display: block;
background: #FFF;
width: 1.8em;
height: .2em;
position: absolute;
}

a.btn_wincls::before {
transform: rotate(45deg);
top: .8em;
left: 0;
}

a.btn_wincls::after {
transform: rotate(-45deg);
position: absolute;
top: .8em;
left: 0;
}

.btn_wincls:hover {
opacity: 0.6;
cursor: pointer;
}

.terms {
font-size: 2.2rem;
font-size: 22px;
border-top: 1px dashed #231815;
border-bottom: 1px dashed #231815;
padding-top: 15px;
padding-bottom: 15px;
text-align: center;
}

.terms_cap {
font-size: 1.4rem;
font-size: 14px;
margin-top: 30px;
line-height: 1.6em;
}

/*======================
footer
=======================*/
.footer {
width: 100%;
min-width:900px;
height: 10em;
bottom: 0;
position: absolute;
}

.ft_top {
background: url(../img/bg_strp03.png);
padding-top: 40px;
padding-bottom: 40px;
margin-top: 60px;
}

.dwld {
width: 800px;
margin-left: auto;
margin-right: auto;
padding: 20px;
background: #FFF;
box-shadow:0px 0px 3px 0px #e0d4c2;
}

.dwld_img {
float: left;
width: 120px;
margin-right: 20px;
}

.dwld_cap {
float: left;
width: 620px;
}

.dwld_cap .ttl {
font-size: 1.8rem;
font-size: 18px;
}

.dwld_cap .txt {
margin-top: 14px;
line-height: 1.6em;
}

.dwld_btn {
height: 32px;
line-height: 32px;
display: inline-block;
padding: 0 12px 0 38px;
text-decoration: none;
background: #f39832;
color: #FFF;
border-bottom: solid 4px #cb7a20;
border-radius: 4px;
margin-top: 12px;
}

.dwld_btn:active {
-ms-transform: translateY(4px);
-webkit-transform: translateY(4px);
transform: translateY(4px);
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
border-bottom: none;
}

.dwld_icon {
background-image: url(../img/icon_dwld.png);
background-repeat: no-repeat;
background-size: 18px;
background-position: 13px 50%;
}

.abt_hfc {
width: 800px;
text-align: center;
margin-left: auto;
margin-right: auto;
padding: 30px 30px 20px 30px;
background: #fdfdea;
border-radius: 8px;
}

.ft_logo_hfc img {
width: 260px;
height: auto;
}

.abt_hfc .ttl {
font-size: 1.6rem;
font-size: 16px;
color: #708f02;
margin-top: 20px;
}

.abt_hfc .txt {
font-size: 1.3rem;
font-size: 13px;
text-align: left;
margin-top: 10px;
line-height: 1.6em;
}

.abt_hfc_btn {
height: 40px;
line-height: 40px;
display: inline-block;
padding: 0 12px 0 12px;
text-decoration: none;
background: #a2d000;
color: #FFF;
border-bottom: solid 4px #708f02;
border-radius: 4px;
margin-top: 20px;
}

.abt_hfc_btn:active {
-ms-transform: translateY(4px);
-webkit-transform: translateY(4px);
transform: translateY(4px);
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2);
border-bottom: none;
}

.copy_box {
margin: 0;
background: #ad9570;
padding-top: 40px;
padding-bottom: 34px;
}

.copy {
width: 900px;
padding-top: 34px;
margin-left: auto;
margin-right: auto;
text-align: center;
font-size: 1.1rem;
font-size: 11px;
}

/*======================
fadein
=======================*/
.effect {
opacity: 0.1;
transition: 2s;
}

.isAnimate {
opacity: 1;
}


/*======== media screen 768px ========*/
@media screen and (max-width: 768px) {

/*-- outer --*/
.outer {
width: 96%;
}

/*-- inner --*/
.inner {
width: 90%;
}

/*-- contents --*/
.contents {
width: 100%;
min-width: 96%;
}

/*======================
header
=======================*/
.header {
min-width: 100%;
text-align: center;
}

.hd_inner {
width: 90%;
padding-top: 14px;
padding-bottom: 14px;
}

.hd_left {
width: 100%;
float: none;
}

.hd_left img {
width: 300px;
}

.hd_attention {
width: 96%;
float: none;
text-align: left;
margin-top: 20px;
padding-left: 0;
text-indent: 0;
}

/*======================
Page title
=======================*/
.ttl_mssg {
font-size: 3.2rem;
font-size: 32px;
line-height: 1.3em;
padding-bottom: 10px;
}

.title {
font-size: 1.8rem;
font-size: 18px;
margin-top: 10px;
}

.lead {
margin-top: 60px;
line-height: 2.0em;
font-size: 1.6rem;
font-size: 16px;
}

/*======================
hero_box
=======================*/
.hero_box {
margin-top: 10px;
}

.hero_box img {
width: 100%;
}

.hero_cacth {
width: 100%;
font-size: 2.4rem;
font-size: 24px;
padding: 20px;
left: 0; bottom: -40px;
}

/*======================
SNS Link
=======================*/
.share_box {
width: 90%;
padding: 20px 0 20px 0;
}

.share_mssg {
font-size: 1.4rem;
font-size: 14px;
}

.sns_link {
margin-top: 20px;
}

.sns_btn {
font-size: 1.3rem;
font-size: 13px;
width: 100%;
height: 48px;
line-height: 48px;
}

/*======================
article
=======================*/
.lft_img,
.rght_img,
.rght_img.portrait,
.fll_img {
width: 100%;
float: none;
margin-right: 0;
margin-left: 0;
margin-bottom: 20px;
}

.fll_img {
margin-top: 20px;
}

.art_txt {
line-height: 2.0em;
}

/*======================
Headline
=======================*/
.hdline_box {
padding-top: 18px;
padding-bottom: 8px;
}

.hdline {
font-size: 1.8rem;
font-size: 18px;
}

/*======================
Page Link
=======================*/
.link_box a {
font-size: 2.0rem;
font-size: 20px;
}

.link_box02 {
margin-top: 40px;
}

.link_item_box {
padding: 14px;
text-align: center;
}

.link_item_img {
float: none;
width: 200px;
margin-left: auto;
margin-right: auto;
}

.link_item_cap {
float: none;
width: 100%;
margin-left: 0;
}

.link_item_cap_ttl {
margin-top: 40px;
font-size: 1.6rem;
font-size; 16px;
}

.icon_category {
margin-left: auto;
margin-right: auto;
top: -30px; left: 50%;
transform: translateX(-50%);
-webkit- transform: translateX(-50%);
}

.link_item_cap_txt {
text-align: left;
}

/*======================
modal window
=======================*/
.modalwin {
width: 90%;
padding: 50px 30px 20px 30px;
}

.terms {
font-size: 1.8rem;
font-size: 18px;
padding-top: 10px;
padding-bottom: 10px;
}

.terms_cap {
margin-top: 20px;
}

/*======================
footer
=======================*/
.footer {
min-width: 100%;
}

.ft_top {
width: 100%;
padding-top: 20px;
padding-bottom: 20px;
margin-top: 40px;
}

.dwld {
width: 90%;
text-align: center;
padding: 20px;
}

.dwld_img {
float: none;
width: 100%;
}

.dwld_cap {
float: none;
width: 100%;
}

.dwld_cap .ttl {
font-size: 1.6rem;
font-size: 16px;
margin-top: 10px;
}

.dwld_cap .txt {
margin-top: 10px;
text-align: left;
line-height: 1.4em;
}

.abt_hfc {
width: 90%;
padding: 30px;
}

.copy_box {
padding-top: 20px;
padding-bottom: 20px;
}

}

/*======== media screen 480px ========*/
@media screen and (max-width: 480px) {

.sub_catch {
display: block;
text-align: center;
}

.ttl_mssg {
font-size: 2.2rem;
font-size: 22px;
}

.lead {
margin-top: 80px;
}

.hero_cacth {
width: 100%;
font-size: 2.0rem;
font-size: 20px;
padding: 12px;
left: 0; bottom: -60px;
}

.hero_cacth br {
display: none;
}

.share_box {
width: 100%;
}

.share_mssg {
font-size: 1.2rem;
font-size: 12px;
}

.sns_btn {
font-size: 1.1rem;
font-size: 11px;
}

.link_txt,
.link_box a {
font-size: 2.2rem;
font-size: 22px;
}

.abt_hfc .ttl {
font-size: 1.4rem;
font-size: 14px;
}


}

/* fadeIn */
.fadeIn{
animation-name: fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* fadeLeft */
.fadeLeft{
  animation-name: fadeLeftAnime;
  animation-duration:.8s;
  animation-fill-mode:forwards;
  opacity:0;
}

@keyframes fadeLeftAnime{
  from {
  opacity: 0;
  transform: translateX(-30%);
  }
  to {
  opacity: 1;
  transform: translateX(0);
  }
}

/* fadeRight */
.fadeRight{
animation-name: fadeRightAnime;
animation-duration:.8s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
  opacity: 0;
  transform: translateX(30%);
  }
  to {
  opacity: 1;
  transform: translateX(0);
}
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeInTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
opacity: 0;
}


/*================== 
前後編リンクボタンの枠線と矢印の動き(PCのみ)
==================*/
@media screen and (min-width: 750px) {
  .link_box::before,
  .link_box::after{
  content:"";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  background:#231715;
  /*線の形状*/
  width: 0;
  height:1px;
  /*アニメーションの指定*/
  transition: all 0.2s linear;
  }
  
  .link_box::before{
  right: 0;
  bottom: 0;
  }
  
  .link_box::after{
  left: 0;
  top: 0;
  }
  
  /*線の基点位置2 span.bdrタグ*/
  
  .link_box span.bdr{
  display: block;
  }
  
  .link_box span.bdr::before,
  .link_box span.bdr::after{
  content:"";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  background: #231715;
  /*線の形状*/
  width:1px;
  height:0;
  /*アニメーションの指定*/
  transition: all 0.1s linear;
  }
  
  .link_box span.bdr::before{
  left: 0;
  bottom: 0;
  }
  
  .link_box span.bdr::after{
  right: 0;
  top: 0;
  }
  
  /*現在地とhoverした際の線の変化*/
  .link_box.current::before,
  .link_box.current::after,
  .link_box:hover::before,
  .link_box:hover::after{
  width: 100%;
  }
  
  .link_box:hover::after{
  transition-delay: 0s;/*すぐ線を出現させる*/
  }
  
  .link_box:hover::before{
  transition-delay: 0.3s;/*線の出現を0.3秒遅らせる*/
  }
  
  .link_box.current span.bdr::before,
  .link_box.current span.bdr::after,
  .link_box:hover span.bdr::before,
  .link_box:hover span.bdr::after{
  height: 100%;
  }
  
  .link_box:hover span.bdr::before{
  transition-delay: 0.5s;/*線の出現を0.5秒遅らせる*/
  }
  
  .link_box:hover span.bdr::after{
  transition-delay: 0.2s;/*線の出現を0.2秒遅らせる*/
  }
  
  .link_box span.arrw {
  display: inline-block;
  transform: translateX(1px);
  transition: transform 0.25s ease-out;
  }
  
  .link_box:hover span.arrw {
  transform: translateX(10px);
  }
}

/*==============================
テキストが流れるように出現（左から右）
==============================*/

/*全共通*/
.slide-in {
  overflow: hidden;
  display: inline-block;
  padding: 0 10px;/*英語がはみ出るので見えるように余白追記*/
}

.slide-in_inner {
  display: inline-block;

}

/*左右のアニメーション*/
.leftAnime,
.rightAnime{
  opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  animation-name: slideText-100;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes slideText-100 {
from {
  transform: translateX(-100%); /*要素を左の枠外に移動*/
      opacity: 0;
}

to {
  transform: translateX(0);/*要素を元の位置に移動*/
  opacity: 1;
}
}

.slideAnimeRightLeft {
  animation-name: slideText100;
  animation-duration:0.8s;
  animation-fill-mode:forwards;
  opacity: 0;
}


@keyframes slideText100 {
from {
  transform: translateX(100%);/*要素を右の枠外に移動*/
  opacity: 0;
}

to {
  transform: translateX(0);/*要素を元の位置に移動*/
  opacity: 1;
}
}