
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
  font-display: swap;
}
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 400;
   src: local('NotoSansJP-Regular.otf'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
  font-display: swap;
}

@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 500;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
  font-display: swap;
 }

@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 700;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
  font-display: swap;
}


body {
font-family: 'Noto Sans Japanese', 'Noto Sans JP', sans-serif !important;
}

#rwd-content .rwd-main-content {
    margin-bottom: 0px!important;
}

#rwd-content .rwd-main-header.bg-black {
background-color: #000;
}


@media (min-width: 768px){
/* #rwd-content .rwd-header-identify {
padding: 20px 1px 0 0;
}
#rwd-content .rwd-header-identify img {
width: 150px;
height: auto;
}
#rwd-content .rwd-header-category-title span {
margin-top: 0;
}
#rwd-content .header-category-title {
height: 94px;
} */
/* min-width: 768px */}

#rwd-content .rwd-title-container {
    display: -webkit-flex;
    display: flex;
}

/* #rwd-content .header-category-title {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    padding: 0 0 0 35px;
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0;
color:#fff;
}

#rwd-content .rwd-main-header {
background:none;
}

#rwd-content .rwd-main-header {
margin-bottom: 0!important;
} */
main.rwd-main-content {
max-width: 1675px;
margin: 0 auto;
}
#rwd-content #rwd-main-content {
margin-bottom: 0;
}


main.rwd-main-content a:hover {
opacity: 0.7;
}

.btn_inquiry {
display: block;
position: fixed;
bottom:30%;
right:0;
z-index: 9100;
}

.btn_inquiry2 {
display: block;
position: fixed;
bottom:40%;
right:0;
z-index: 9100;
width: 64px;
height: 371px;
background: url(../img/btn_inquiry2_pc.png) no-repeat top left;
overflow: hidden;
font-size: 1px;
text-indent: -9999px;
}
.btn_inquiry2:hover,
.btn_inquiry2:active {
background: url(../img/btn_inquiry2_pc.png) no-repeat top right;
}

.start_FI {
opacity: 0;
}

/*

.fadeInblock {
  opacity: 0;
  transition: all 1.5s;
}

.fadeInblock.blockIn {
  opacity: 1;
} */

/*------------------------*/

.sec01_bg_pc{
background:#000 url(../img/sec01_bg_pc.png) center center no-repeat;
background-size: cover;
}


.sec01 .sec01_txtbox {
text-align: center;
padding: 128px 0 185px;
}

.sec01 .sec01_txtbox .sec01_ttl {
display: block;
width: 622px;
margin: 0 auto 31px;
}

.sec01 .sec01_txtbox p {
text-align: center;
font-size: 2.8rem;
color:#fff;
font-weight: 500;
}

.sec01 .info_box {
width: 100%;
text-align: center;
background: #f00;
padding: 20px 25px;
box-sizing: border-box;
}
.sec01 .info_box .info_inbox {
width: 100%;
max-width: 1252px;
margin: 0 auto;

display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}

/* .sec01 .info_box img {
display: block;
margin: 0 auto;
max-width: 521px;
width: 42%;
height: auto;
} */

.sec01 .info_box .thanks_box {
display: block;
margin: 0 auto;
max-width: 463px;
width: 42%;
height: auto;
}

.sec01 .info_box .thanks_box>img {
margin-bottom: 10px;
width: 100%;
height: auto;
}
.sec01 .info_box .thanks_box a {
display: block;
max-width: 380px;
width: 100%;
height: auto;
margin: 0 auto;
}
.sec01 .info_box .thanks_box a img {
width: 100%;
height: auto;
}

.sec01 .info_box h1 {
max-width: 695px;
width: 56%;
height: auto;
color:#fff;
font-weight: 400;
line-height: 1;

display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
align-items: center;
}

.sec01 .info_box h1 strong {
display: block;
max-width: 354px;
width: 51%;
font-size: 5.3rem;
letter-spacing: 0.1em;
line-height: 0.7;
}
.sec01 .info_box h1 span {
display: block;
max-width: 340px;
width: 47%;
font-size: 2.9rem;
letter-spacing: 0.1em;
line-height: 0.8;
}
.sec01 .info_box h1 span em {
font-style: normal;
font-size: 1.5rem;
letter-spacing: 1px;
}
.sec01 .info_box h1 span em .sp_480 {
display: none;
}

@media (max-width: 1320px) {
.sec01 .info_box h1 strong {
font-size: 4vw;
}
.sec01 .info_box h1 span {
font-size: 2.3vw;
}
.sec01 .info_box h1 span em {
font-size: 1.1vw;
letter-spacing: 0;
}
/* max-width: 1320px */}

@media (max-width: 980px) {
.sec01 .info_box h1 strong,
.sec01 .info_box h1 span  {
letter-spacing: 0.05em;
}
.sec01 .info_box h1 span em {
font-size: 1vw;
letter-spacing: 0;
}
/* max-width: 980px */}


.sec01_nav {
background: #464646;
padding: 0 15px;
}

.sec01_nav ul {
max-width: 1253px;
margin: 0 auto;
border-left: solid 1px #F0F0F0;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
}
.sec01_nav ul li {
display: block;
width: 25%;
border-right: solid 1px #F0F0F0;
padding: 0 10px;
box-sizing: border-box;
}
.sec01_nav ul li a {
color:#fff;
display: block;
width: 100%;
text-align: center;
}
.sec01_nav ul li a:hover {
color:#fff;
}
.sec01_nav ul li a span {
color:#fff;
width: 100%;
text-align: center;
padding: 10px 0;
font-size: 2rem;
font-weight: 500;

display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
align-items: center;
}
.sec01_nav ul li a span img {
display: block;
width: 18px;
height: 18px;
margin-left: 8px;
}

/*------------------------*/

.main_bg {
background:#000 url("../img/bg_2025.jpg") center center no-repeat fixed;
background-size: cover;

padding-bottom: 200px;
}


/*------------------------*/

section#sec02 {
padding: 100px 0 0;
position: relative;
}

section#sec02 .sec_ttl {
display: block;
margin: 0 auto 50px;
width: 298px;
}

section#sec02 .sec02_txt {
font-weight: 500;
font-size: 2rem;
letter-spacing: 0.1em;
line-height: 3.0;
text-align: center;
color: #fff;
}

section#sec02 .sec02_sec01_ttl {
display: block;
margin: 50px auto 150px;
width: 378px;
}

section#sec02 .sec02_img_box {
text-align: right;
position: relative;
}

section#sec02 .sec02_img {
max-width: 905px;
width: 55vw;
margin-right: 5vw;
}

section#sec02 .sec02_txt02 {
position: absolute;
background: url(../img/sec02_txt02_bg.png) right center no-repeat;
background-size: auto 100%;
width: 45%;
height: 275px;
top:0;
bottom:0;
left: 0;
margin: auto 0;

display: -webkit-flex;
display: flex;
-webkit-justify-content: flex-end;
justify-content: flex-end;
align-items: center;
}

section#sec02 .sec02_txt02>div.borderAnime {
padding-right: 90px;
text-align: left;
position: relative;
padding-left: 20px;
}

section#sec02 .sec02_txt02>div img {
max-width: 325px;
width: 100%;
}

section#sec02 .sec02_txt02>div p {
font-size: 1.6rem;
line-height: 1.8;
color: #fff;
}
section#sec02 .sec02_txt02>div .borderLine {
	position: absolute;
	left:0;
	top:0;
	width:1px;
	height:0;
	background: #f00;
}


@media screen and (min-width:768px) and ( max-width:1024px){
section#sec02 .sec02_img {
width: 60vw;
margin-right: -5vw;
}
section#sec02 .sec02_txt02 {
width: 60vw;
height: 275px;
}
/* min-width: 768px */}


.btn_totop_pc{
display: block;
width: 27px;
height: 223px;
}
section#sec02 .btn_totop_pc{
position: absolute;
z-index: 9000;
right:15px;
bottom:20px;
}

/*------------------------*/

section#sec03 {
padding:100px 50px 0;
position: relative;
box-sizing: border-box;
}
section#sec03 .btn_totop_pc.sec03_01{
position: absolute;
z-index: 9001;
right:15px;
top:40%;
}
section#sec03 .btn_totop_pc.sec03_02{
position: absolute;
z-index: 9001;
right:15px;
bottom:80px;
}



.sec03_box {
max-width: 1252px;
margin: 0 auto;

background: linear-gradient(90deg, #FF0000 0, #000 2px), 
linear-gradient(135deg, transparent 39px, #FF0000 40px, #000 41px), 
linear-gradient(270deg, #FF0000 0, #000 2px), 
linear-gradient(315deg, transparent 39px, #FF0000 40px, #000 41px);
background-position: bottom left,top left,top right,bottom right;
background-size: 50% 50%;
background-repeat: no-repeat;
}

.sec03_box::before,
.sec03_box::after {
  display: block;
  content: "";
  width: auto;
  margin: 0 56px;
}

.sec03_box::before {
border-top: solid 1px #FF0000;
margin-right: 0px;
}
.sec03_box::after {
border-bottom: solid 1px #FF0000;
margin-left: 0px;
}

.sec03_box > div {
  border-left: solid 1px #FF0000;
  border-right: solid 1px #FF0000;
  margin: 56px 0;
  padding: 0 56px;
}


#sec03 .sec_ttl {
display: block;
position: relative;
margin-bottom: 0;
}
#sec03 .sec_ttl img {
display: block;
position: absolute;
bottom:-25px;
left:0;
right:0;
margin: auto;
width: 405px;
height: auto;
}

#sec03 .sec03_inbox {
padding: 0 50px;
}

#sec03 .sec03_inbox .borderAnime {
position: relative;
padding: 30px 44px 56px 83px;
margin-bottom: 24px;
}

#sec03 .sec03_inbox .borderAnime .borderLine {
	position: absolute;
	left:0;
	top:-56px;
	width:1px;
	height:0;
	background: #f00;
}


#sec03 .sec03_inbox .borderAnime h3 {
font-weight: bold;
font-size: 3.5rem;
line-height: 1.6em;
text-align: left;
color: #fff;
margin-bottom: 28px;
}

#sec03 .sec03_inbox .borderAnime p {
font-weight: 500;
font-size: 2rem;
line-height: 2em;
text-align: left;
color: #fff;
}


#sec03 .sec03_inbox h2.ttl02 {
display: block;
font-weight: 500;
font-size: 3.4rem;
letter-spacing: 0.25em;
text-align: center;
color: #fff;
border: solid 2px #FF0000;
padding: 10px 20px 12px;
position: relative;
margin-bottom: 40px;
}
#sec03 .sec03_inbox h2.ttl02 strong {
font-weight: 700;
font-size: 3.4rem;
letter-spacing: 0.25em;
}

#sec03 .sec03_inbox h2.ttl02::before {
content: "";
position: absolute;
width: calc(100% - 40px);
height: 4px;
top:-2px;
background: #000;
right:0;
left:0;
margin: auto;
}

#sec03 .sec03_inbox h2.ttl02::after {
content: "";
position: absolute;
width: calc(100% - 40px);
height: 4px;
bottom:-2px;
background: #000;
right:0;
left:0;
margin: auto;
}

#sec03 .sec03_inbox h3.ttl_copy {
display: inline-block;
font-weight: bold;
font-size: 2rem;
line-height: 1.5;
letter-spacing: 0.1em;
text-align: left;
color: #f00;
padding:0 0 0 15px;


border-left: solid 5px #f00;
}

#sec03 .sec03_inbox .lcmr200_box{
overflow: hidden;
}
#sec03 .sec03_inbox .lcmr200_img{
float: left;
/* width: 58%; */
width: 50%;
}
#sec03 .sec03_inbox .lcmr200_img img{
width: 100%;
height: auto;
}
#sec03 .sec03_inbox h4.exhibit_ttl{
display: inline-block;
font-weight: bold;
font-size: 2.8rem;
/* letter-spacing: 0.1em; */
text-align: left;
color: #fff;
border: solid 3px #3E3E3E;
padding: 0 20px;
position: relative;
}
#sec03 .sec03_inbox h4.exhibit_ttl::before {
content: "";
position: absolute;
width: calc(100% - 28px);
height: 6px;
top:-4px;
background: #000;
right:0;
left:0;
margin: auto;
}

#sec03 .sec03_inbox h4.exhibit_ttl::after {
content: "";
position: absolute;
width: calc(100% - 28px);
height: 6px;
bottom:-4px;
background: #000;
right:0;
left:0;
margin: auto;
}


#sec03 .sec03_inbox .lcmr200_txt{
float: right;
/* width: 40%; */
width: 48%;
}

#sec03 .sec03_inbox h5.feature_copy{
font-weight: 500;
font-size: 2rem;
letter-spacing: 0.1em;
text-align: left;
color: #fff;
}
#sec03 .sec03_inbox p.feature_txt{
font-weight: 500;
font-size: 1.6rem;
line-height: 2em;
letter-spacing: 0.1em;
text-align: left;
color: #fff;
}


#sec03 .sec03_inbox .nat_box{
overflow: hidden;
padding-bottom: 25px;
border-bottom: dotted 2px #A2A2A2;
}

#sec03 .sec03_inbox .nat_box figure {
display: block;
float: left;
width: 45%;
}
#sec03 .sec03_inbox .nat_box p.feature_txt2 {
display: block;

}
#sec03 .sec03_inbox .nat_box figure img{
width: 100%;
height: auto;
}
#sec03 .sec03_inbox .nat_box figure figcaption{
font-size: 1.2rem;
letter-spacing: 0.1em;
line-height: 1.6;
text-align: left;
color: #fff;
}
#sec03 .sec03_inbox .nat_box .nat_inbox{
display: block;
float: left;
width: 48%;
max-width: 240px;
}
#sec03 .sec03_inbox .nat_box .nat_inbox a {
display: block;
}
#sec03 .sec03_inbox .nat_box .nat_inbox img{
display: block;
width: 100%;
height: auto;
}
#sec03 .sec03_inbox .nat_box .nat_inbox p{
font-size: 1.2rem;
letter-spacing: 0.1em;
line-height: 1.6;
text-align: left;
color: #fff;
}


#sec03 .sec03_inbox .link_blank img {
display: inline-block;
width: 112px;
height: auto;
}

#sec03 .sec03_inbox .lcmr200_img {
overflow: hidden;
position: relative;
}
#sec03 .sec03_inbox .lcmr200_img .link_blank {
text-align: right;
display: block;
position: absolute;
/* bottom:30px; */
bottom:10px;
right:40px;
}



#sec03 .sec03_inbox h3.ttl_copy.ttlicon_reference {
display: inline-block;
padding-right: 100px;
position: relative;
}
#sec03 .sec03_inbox h3.ttl_copy.ttlicon_reference .ttlicon {
display: block;
position: absolute;
top:0;
right: 0;
}

#sec03 .sec03_inbox h3.ttl_copy.ttlicon_july {
display: block;
padding-right: 130px;
position: relative;
}
#sec03 .sec03_inbox h3.ttl_copy.ttlicon_july .ttlicon {
display: block;
position: absolute;
top:0;
right: 0;
}

#sec03 .sec03_inbox .cooperation_box{
overflow: hidden;
border-bottom:  solid 1px #3E3E3E;
padding-bottom: 60px;
}


#sec03 .sec03_inbox .cooperation_img{
float: left;
width: 40%;
margin-right: 2%;
}
#sec03 .sec03_inbox .cooperation_img img{
display: block;
width: 100%;
height: auto;
}
#sec03 .sec03_inbox .cooperation_txt{
display: block;
float: left;
width: 50%;
}
#sec03 .sec03_inbox .cooperation_txt img{
width: 100%;
height: auto;
}



#sec03 .sec03_inbox .col_2box {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;

border-bottom:  solid 1px #3E3E3E;
padding-bottom: 35px;
}

#sec03 .sec03_inbox .col_2box .col_2eachbox {
width: 49%;
overflow: hidden;
}

#sec03 .sec03_inbox .col_2box .col_2eachbox figure img {
width: 100%;
height: auto;
}

#sec03 .sec03_inbox .col_2box .col_2eachbox {
width: 49%;
}
#sec03 .sec03_inbox .col_2box h3.ttl_copy {
display: block!important;
}
#sec03 .sec03_inbox .col_2box .col_2eachbox .link_blank {
float: right;
}
#sec03 .sec03_inbox .col_2box .col_2eachbox .movie_thumb {
float: none;
clear: both;
margin: 0 auto;
display: block;
max-width: 320px;
}

#sec03 .sec03_inbox .col_2box .col_2eachbox .movie_thumb img {
display: block;
width: 100%;
height: auto;
}


#sec03 .sec03_inbox .col_3box {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;

/* padding-bottom: 50px; */
}

#sec03 .sec03_inbox .col_3box .col_3eachbox {
width: 32.5%;
overflow: hidden;
box-sizing: border-box;
}


#sec03 .sec03_inbox .col_3box .col_3eachbox.col_3eachbox01 {
padding-right: 30px;
border-right: #3E3E3E solid 1px;
}
#sec03 .sec03_inbox .col_3box .col_3eachbox.col_3eachbox02 {
width: 35%;
padding: 0 30px;
border-right: #3E3E3E solid 1px;
}
#sec03 .sec03_inbox .col_3box .col_3eachbox.col_3eachbox03 {
padding-left:30px;
}
#sec03 .sec03_inbox .col_3box h3.ttl_copy.ttlicon_reference {
display: block;
}

#sec03 .sec03_inbox .col_3eachbox h4.exhibit_ttl {
font-size: 2rem;
padding: 0 18px;
}

#sec03 .sec03_inbox .col_3box .col_3eachbox figure img {
width: 100%;
height: auto;
}

#sec03 .sec03_inbox .col_3box .col_3eachbox .col_3each_linkbox {
padding-top: 25px;
border-top: #A2A2A2 dotted 2px;
}

#sec03 .sec03_inbox .col_3box .col_3eachbox .link_box {
overflow: hidden;
}
#sec03 .sec03_inbox .col_3box .col_3eachbox .link_blank {
float: right;
}
#sec03 .sec03_inbox .col_3box .col_3eachbox figure img.wish_tech {
display: block;
max-width: 253px;
margin: 0 auto;
}

#sec03 .sec03_inbox .col_3box .col_3eachbox figure img.ntn {
display: block;
max-width: 134px;
margin: 0 auto;
}

#sec03 .sec03_inbox .col_3box .col_3eachbox figure img.omp {
display: block;
max-width: 234px;
margin: 0 auto;
}

#sec03 .sec03_inbox .col_3box .col_3eachbox .movie_thumb {
float: none;
clear: both;
margin: 0 auto;
display: block;
max-width: 240px;
}

#sec03 .sec03_inbox .col_3box .col_3eachbox .movie_thumb img {
display: block;
width: 100%;
height: auto;
}


/* ------------------- */

#sec04 {
background-size: cover;
padding: 50px;
position: relative;
}

#sec04 .btn_totop_pc.sec04{
position: absolute;
z-index: 9002;
right:15px;
bottom:100px;
}

#sec04 .sec04_inbox{
max-width: 1252px;
margin: 0 auto;
}

#sec04 .sec_ttl {
display: block;
margin: 0 auto;
width: 299px;
}
#sec04 .sec_ttl img {
width: 100%;
height: auto;
}

#sec04 .info_box {
overflow: hidden;
width: 86%;
margin: 0 auto;

display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}
#sec04 .info_box figure {
width: 60%;
}
#sec04 .info_box figure img {
width: 100%;
height: auto;
}
#sec04 .info_box .info_inbox {
width: 37.5%;
color:#fff;
}
#sec04 .info_box .info_inbox dl {
border-top: 1px solid #fff;
padding: 15px 0 16px;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
align-items: center;

letter-spacing: 0.1em;
}
#sec04 .info_box .info_inbox dl:last-of-type {
border-bottom: 1px solid #fff;
}
#sec04 .info_box .info_inbox dl dt {
font-weight: bold;
font-size: 1.8rem;
width: 60px;
}
#sec04 .info_box .info_inbox dl dd {
font-size: 1.8rem;
width: calc(100% - 60px);
}
#sec04 .info_box .info_inbox dl dd strong {
font-weight: normal;
font-size: 2.4rem;
}
#sec04 .info_box .info_inbox dl dd span {
display: inline-block;
margin-left: 10px;
font-weight: bold;
font-size: 2.6rem;
line-height: 1.1;
letter-spacing: 0.08em;
text-align: center;
color: #333;
border-radius: 5px;
background: #fff;
padding: 4px 12px 5px;
}


#sec04 .info_box .info_inbox .link_irex2022 {
border-radius: 5px;
background: #fff;
padding: 4px 10px 5px;
width: 100%;
box-sizing: border-box;

color: #333;
font-weight: 500;
font-size: 1.8rem;
letter-spacing: 0.1em;

display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
align-items: center;
}

#sec04 .info_box .info_inbox .link_irex2022 img {
margin-left: 10px;
}

#sec04 .sec04_tt2 {
width: 86%;
margin: 0 auto;
text-align: center;
color: #fff;
}
#sec04 .sec04_tt2 h3 {
font-weight: bold;
font-size: 2rem;
letter-spacing: 0.2em;
}
#sec04 .sec04_tt2 p {
display: block;
font-weight: bold;
font-size: 4rem;
line-height: 1.1;
letter-spacing: 0;
border: solid 2px #fff;
padding: 12px 10px 14px;
}


#sec04 .sec04_imgbox {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}

#sec04 .sec04_imgbox img {
display: block;
width: 100%;
height: auto;
}
#sec04 .sec04_imgbox .map {
max-width: 722px;
width: 58%;
margin-left: auto;
margin-right: auto;
}
#sec04 .sec04_imgbox .img {
max-width: 510px;
width: 41%;
}



/* ------------------- */

#sec05 {
background:#F0F0F0;
padding: 100px 50px;
position: relative;
}

#sec05 .btn_totop_pc.sec05{
position: absolute;
z-index: 9004;
right:15px;
bottom:120px;
}

#sec05 .sec05_inbox{
max-width: 1252px;
margin: 0 auto;
}

#sec05 .sec_ttl {
display: block;
margin: 0 auto;
width: 405px;
}
#sec05 .sec_ttl img {
width: 100%;
height: auto;
}
#sec05 .sec05_lead_txt {
font-weight: bold;
font-size: 2rem;
letter-spacing: 0.2em;
line-height: 1.7;
color: #fff;
}

#sec05 .sec05_copy_box {
text-align: center;
}

#sec05 .sec05_copy {
display: block;
margin: 0 auto;
width: 685px;
height: auto;
}

#sec05 h3.sec05_copy_ttl {
display: inline-block;
font-weight: bold;
font-size: 3.4rem;
letter-spacing: 0.1em;
line-height: 1.6;
text-align: center;
color: #fff;

text-align: center;
color: #fff;
border: solid 2px #FF0000;
padding: 0 100px;
position: relative;

opacity: 0.5;
}
#sec05 h3.sec05_copy_ttl::before {
content: "";
position: absolute;
width: calc(100% - 40px);
height: 4px;
top:-2px;
background: #F0F0F0;
right:0;
left:0;
margin: auto;
}
#sec05 h3.sec05_copy_ttl::after {
content: "";
position: absolute;
width: calc(100% - 40px);
height: 4px;
bottom:-2px;
background: #F0F0F0;
right:0;
left:0;
margin: auto;
}

#sec05 .sec05_case_ttl_box {
text-align: center;
}
#sec05 h4.sec05_case_ttl {
display: inline-block;
position: relative;
padding: 0 125px;
margin: 0 auto;

font-weight: bold;
font-size: 2.4rem;
letter-spacing: 0.2em;
text-align: center;
color: #f00;
}
#sec05 h4.sec05_case_ttl::before {
content: "";
position: absolute;
width: 107px;
height: 1px;
top:0;
bottom: 0;
background: #f00;
left:0;
margin: auto;
}
#sec05 h4.sec05_case_ttl::after {
content: "";
position: absolute;
width: 107px;
height: 1px;
top:0;
bottom: 0;
background: #f00;
right:0;
margin: auto;
}
#sec05 .sec05_case_txt {
font-weight: bold;
font-size: 2rem;
letter-spacing: 0.1em;
color: #333;
}

#sec05 .sec05_case_box {
max-width: 1252px;
margin: 0 auto;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}

#sec05 .sec05_case_box .case_each {
width: 33%;
max-width: 404px;
background: #fff;
filter: drop-shadow(5px 5px 6px rgba(0, 0, 0, 0.25));
margin-bottom: 30px;
display: flex;
flex-direction: column;
}
#sec05 .sec05_case_box .case_each img {
display: block;
width: 100%;
height: auto;
}

#sec05 .sec05_case_box .case_txt {
padding: 10px 20px 15px 56px;
position: relative;
flex-grow: 1;
display: flex;
flex-flow: column;
justify-content:space-between;
}
#sec05 .sec05_case_box .case_txt::before {
content: "";
width: 42px;
height: 5px;
background: #f00;
position: absolute;
top: 23px;
left:0;
}

#sec05 .sec05_case_box .case_txt p {
display: block;
font-weight: 500;
font-size: 1.8rem;
letter-spacing: 0.1em;
line-height: 1.7;
text-align: left;
color: #333;
}

#sec05 .sec05_case_box .case_txt span {
display: block;
background: url(../img/case_linkicon.png) right center no-repeat;
font-weight: bold;
font-size: 1.9rem;
letter-spacing: 0.1em;
text-align: left;
color: #f00;
padding-right: 115px;
}
#sec05 .sec05_case_box .case_txt span.font_s {
font-size: 1.6rem;
}



/* ------------------------- */

.relate_link {
display: block;
background: #3e3f40;
padding: 60px 0;
color: #fff;
position: relative;
box-sizing: border-box;
}



.relate_link .btn_totop_pc.relate_link{
position: absolute;
z-index: 9005;
right:15px;
bottom:140px;
}

.relate_link h2 {
font-weight: bold;
font-size: 2rem;
letter-spacing: 0.2em;
}

.relate_link .relate_link_text {
font-weight: normal;
font-size: 2rem;
letter-spacing: 0.1em;
}


.relate_link .link_list {
max-width: 1252px;
padding: 0 50px;
margin: 0 auto;
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}
.relate_link .link_list a.link_each {
display: block;
width: 32%;
margin: 0 1%;
max-width: 404px;
color: #fff !important;
text-align: center;
}

.relate_link .link_list a.link_each:hover {
color: #fff !important;
}

.relate_link .link_list a.link_each figure {
display: block;
overflow: hidden;
border-radius: 5px;
}
.relate_link .link_list a.link_each figure img{
display: block;
width: 100%;
height: auto;
}


.relate_link .link_list a.link_each span {
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
align-items: center;
font-weight: bold;
font-size: 2rem;
letter-spacing: 0.1em;
}
.relate_link .link_list a.link_each span img {
display: -webkit-flex;
display: flex;
-webkit-justify-content: center;
justify-content: center;
align-items: center;
margin-left: 10px;
}


/* ------------------- */

.robot_footer {
background: #fff;
overflow: hidden;
font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
padding-bottom: 40px;
}

.robot_footer .link_txt a {
color: #4f86c6!important;
text-decoration: underline;
display: inline-block;
padding-right: 28px;
min-height: 20px;
background: url(../img/link_4F86C6.png) right center no-repeat;
}



/*- 220221追加------------------------*/


.sec01 .sec01_bg {
position: relative;
height: 700px;
}


.sec01 .story_btnbox{
position: absolute;
width: 637px;
height: 135px;
background: #fff;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);

right:100px;
bottom :50px;
}
.sec01 .story_btnbox a{
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
}

.sec01 .story_btnbox .txt_box{
width: 320px;
box-sizing: border-box;
position: relative;
padding: 24px 0 0 20px;
}
.sec01 .story_btnbox .txt_box .storybtn_ttl{
display: block;
position: absolute;
top: -13px;
left: 20px;
}

.sec01 .story_btnbox .txt_box p{
font-weight: bold;
font-size: 1.2rem;
letter-spacing: 0.1em;
line-height: 1.5;
text-align: left;
color: #fff;
}

.sec01 .story_btnbox .txt_box p strong{
display: block;
font-weight: bold;
font-size: 1.6rem;
line-height: 1.3;
padding-top: 10px;
letter-spacing: 0.1em;
}

.sec01 .story_btnbox .storybtn{
width: 304px;
}

.sec01 .story_btnbox .storybtn img{
display: block;
width: 100%;
height: auto;
}
.sec01 .story_btnbox .close_btn{
display: block;
width: 42px;
height: 42px;
position: absolute;
top:-21px;
right:-21px;
cursor: pointer;
}
.sec01 .story_btnbox .close_btn:hover{
opacity: 0.7;
}


#sec02 .sec02_story_box {
max-width: 1253px;
width: 100%;
padding: 0 15px;
margin: 0 auto 90px;
box-sizing: border-box;
}
#sec02 .sec02_story_box h2 {
display: block;
position: relative;
text-align: center;

font-weight: 500;
font-size: 2rem;
line-height: 1.5em;
letter-spacing: 0.1em;
color: #fff;

margin-bottom: 30px;
}
#sec02 .sec02_story_box h2:before {
content: "";
display: block;
width: calc(50% - 265px);
height: 1px;
background: #FF0000;
position: absolute;
top: 50%;
left:0;
}
#sec02 .sec02_story_box h2:after {
content: "";
display: block;
width: calc(50% - 265px);
height: 1px;
background: #FF0000;
position: absolute;
top: 50%;
right:0;
}

#sec02 .sec02_story_box .sec02_story_inbox {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn {
display: block;
width: 49.2%;
max-width: 616px;
height: 137px;
background: #000;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a:hover {
opacity: 0.62;
color: #fff !important;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a {
display: block;
width: 100%;
height: 100%;
background: #fff;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
color: #fff !important;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a>img {
display: block;
width: 210px;
height: 137px;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box {
width: calc(100% - 210px);
padding: 15px 20px 0 40px;
box-sizing: border-box;
overflow: hidden;
position: relative;
font-size: 1.6rem;
font-weight: bold;
letter-spacing: 0.1em;
line-height: 1.4em;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box:before {
content: "";
position: absolute;
width: 30px;
height: 5px;
background: #f00;
left:0;
top:18px;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box img {
display: block;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box span {
display: block;
}

#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box .storybtn_s_ttl {
margin-bottom: 10px;
}

#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box .storybtn_s_link {
float: right;
margin-top: 10px;
}


@media (max-width: 1240px) {
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box .storybtn_s_link {
margin-top: 5px;
}
/* max-width: 1040px */}

@media (max-width: 1040px) {
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box {
padding: 15px 10px 0 20px;
font-size: 1.5rem;
line-height: 1.3em;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box:before {
content: "";
position: absolute;
width: 15px;
height: 5px;
background: #f00;
left:0;
top:18px;
}

/* max-width: 1040px */}


@media (max-width: 980px) {
#sec02 .sec02_story_box .sec02_story_inbox {
display: block;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn {
width: 100%;
max-width: 640px;
margin: 0 auto;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn:first-of-type {
margin-bottom: 15px;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box {
padding: 20px 10px 0 30px;
font-size: 1.4rem;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box:before {
content: "";
position: absolute;
width: 20px;
height: 3px;
background: #f00;
left:0;
top:23px;
}
#sec02 .sec02_story_box .sec02_story_inbox .story_btn a .txt_box .storybtn_s_link {
margin-top: 10px;
}

/* max-width: 980px */}


#sec05 h3.sec05_copy_ttl {
display: inline-block;
font-weight: bold;
font-size: 3.6rem;
letter-spacing: 0.05em;
line-height: 1.6;
text-align: center;
color: #fff;

text-align: center;
color: #fff;
border: solid 2px #FF0000;
padding: 0 50px;
position: relative;

opacity: 1;
}

#sec05 .sec05_story_box {
    max-width: 1252px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
#sec05 .sec05_story_box a {
display: block;
max-width: 616px;
width: 49.3%;
filter: drop-shadow(5px 5px 6px rgba(0, 0, 0, 0.16));
background: #fff;
color: #fff !important;
}
#sec05 .sec05_story_box a .img_box {
position: relative;
background: #B9B9B9;
}
#sec05 .sec05_story_box a .img_box .storybtn {
opacity: 0.66;
display: block;
width: 100%;
height: auto;
}
#sec05 .sec05_story_box a .img_box .storybtn_new {
display: block;
position: absolute;
top:0;
left:0;
opacity: 1;
z-index: 100;
max-width: 115px;
width: 19%;
}
#sec05 .sec05_story_box a:hover{
opacity: 1;
}
#sec05 .sec05_story_box a:hover .storybtn {
opacity: 1;
}
#sec05 .sec05_story_box a .txt_box {
overflow: hidden;
padding: 25px 30px 30px 65px;
position: relative;
font-weight: bold;
font-size: 2.4rem;
letter-spacing: 0.1em;
line-height: 1.4em;
text-align: left;
}
#sec05 .sec05_story_box a .txt_box:before {
content: "";
position: absolute;
width: 42px;
height: 8px;
background: #f00;
left:0;
top:30px;
}
#sec05 .sec05_story_box a .txt_box .storybtn_s_ttl {
display: block;
width: 112px;
height: auto;
margin-bottom: 15px;
}
#sec05 .sec05_story_box a .txt_box span {
display: block;
overflow: hidden;
font-weight: bold;
font-size: 2.4rem;
letter-spacing: 0.1em;
line-height: 1.4em;
text-align: left;
margin-bottom: 15px;
}
#sec05 .sec05_story_box a .txt_box .storybtn_s_link {
display: block;
float: right;
}

#rwd-content .rwd-button-cta.rwd-button02.icon-online::after {
    width: 50px;
    height: 46px;
    background-size: 46px 50px;
    top: 40px;
    left: 0;
    right: 0;
    background-image: url(../img/icon_onlinemtg.svg);
}


/*--------------------------*/
.sec01 .sec01_bg {
height: inherit;
}


.sec01 .sec01_inbox {
padding: 20px 25px 60px;
margin: 0 auto;

overflow: hidden;

width: 100%;
max-width: 1302px;

box-sizing: border-box;
}

.sec01 .sec01_txtbox {
padding: 70px 0 0;

float: left;

max-width: 600px;
width: 48%;

margin-left: auto;
margin-right: auto;
}
.sec01 .sec01_txtbox p{
font-weight: 500;
font-size: 2.6rem;
letter-spacing: 0.1em;
line-height: 1.8em;
}

@media (max-width: 1024px) {
.sec01 .sec01_txtbox p{
font-size: 2.4rem;
letter-spacing: 0;
}
/* max-width: 1024px */}



.sec01 .sec01_txtbox .sec01_ttl {
display: block;
width: 100%;
margin: 0 auto 31px;
}
.sec01 .sec01_txtbox .sec01_ttl>img {
display: block;
width: 100%;
height: auto;
}

.sec01 .sec01_btnbox {
float:right;
max-width: 659px;
width: 45%;
}

.sec01 .sec01_btnbox>img {
display: block;
width: 100%;
height: auto;
}


@media (max-width: 979px) {
.sec01 .sec01_txtbox p{
letter-spacing: 0.1em;
}

.sec01 .sec01_txtbox {
float: none;
width: 100%;
max-width: inherit;

text-align: center;
padding: 20px 0 40px;
margin: 0 auto;
text-align: center;
}
.sec01 .sec01_txtbox .sec01_ttl {
display: block;
max-width: 622px;
width: 70vw;
margin: 0 auto 24px;
}

.sec01 .sec01_btnbox {
float:none;
width: 70%;
margin-left: auto;
margin-right: auto;
}
/* max-width: 979px */}

section.movie_btn {
max-width: 1283px;
width: 100%;
padding: 0 15px;
margin: 0 auto 110px;
box-sizing: border-box;
}
section.movie_btn .movie_btn_box {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
}

section.movie_btn .movie_btn_box a {
display: flex;
width: 49.2%;
max-width: 616px;
background: #fff;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
section.movie_btn .movie_btn_box a:hover {
color: #fff !important;
}
section.movie_btn .movie_btn_box a .moviebtn_img {
width: 37%;
height: 100%;
display: -webkit-flex;
display: flex;
align-items: center;
}
section.movie_btn .movie_btn_box a .moviebtn_img img {
width: 100%;
height: auto;
}
section.movie_btn .movie_btn_box a .moviebtn_img.movie_btn01 {
background: url(../img/moviebtn01_img.png) center center;
background-size: cover;
}
section.movie_btn .movie_btn_box a .moviebtn_img.movie_btn02 {
background: url(../img/moviebtn02_img.png) left center;
background-size: cover;
}
section.movie_btn .movie_btn_box a .moviebtn_txt {
width: 63%;
box-sizing: border-box;
position: relative;
padding: 20px 10px 15px 20px;
}
section.movie_btn .movie_btn_box a .moviebtn_txt .moviebtn_ttl {
display: block;
position: absolute;
max-width: 206px;
width: 62%;
height: auto;
top: -12px;
}
section.movie_btn .movie_btn_box a .moviebtn_txt p {
font-weight: bold;
font-size: 1.2rem;
letter-spacing: 0.1em;
line-height: 1.5em!important;
color: #fff;
}
section.movie_btn .movie_btn_box a .moviebtn_txt strong {
display: inline-block;
font-weight: bold;
font-size: 1.6rem;
line-height: 1.5em!important;
padding-top: 12px;
}





#sec03 .sec03_inbox .link_movie_box {
overflow: hidden;
}


#sec04 .sec04_inbox .covid_box {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
align-items: center;
margin-top: 12px;
}

#sec04 .sec04_inbox .covid_box p {
font-weight: normal;
font-size: 1.6rem;
letter-spacing: 0.08em;
line-height: 1.5em;
text-align: left;
color: #fff;
width: calc(100% - 165px);
}

#sec04 .sec04_inbox .covid_box a {
display: block;
font-weight: 500;
font-size: 1.6rem;
letter-spacing: 0.08em;
line-height: 1.5em;
text-align: left;
color: #fff;
text-align: center;
width: 160px;
box-sizing: border-box;

border-radius: 5px;
border: 1px solid #fff;
padding: 4px 5px 5px;
}

#sec04 .sec04_inbox .covid_box a:hover {
background: rgba(255, 255, 255, 0.5);
border: 1px solid rgba(255, 255, 255, 0.5);
}



.robot-footer-contact {
padding: 40px 0;
}