/*header*/
/*------------------------------------------------------------------------------*/
#top-head {
	position: absolute;
}
header h1 a {
	background-image: url("../image/common/logo.png");
}

/*globalnav*/
/*------------------------------------------------------------------------------*/
@media only screen and (min-width:1120px){
header #head_menu li a,#globalnav li a {
	color: #FFF !important;
}
header.fixed #head_menu li a,
.fixed #globalnav li a {
	color: #333 !important;
}
}
/*toptitle*/
/*------------------------------------------------------------------------------*/
.toptitle03_01 {
	font-size: 36px;
	line-height: 1.2;
	text-align: center;
	margin-bottom: 30px;
}
.toptitle03_01 .sub {
	font-size: 12px;
	display: block;
	margin-top: 5px;
	color: #FC534C;
}
.toptitle03_02 {
	font-size: 62px;
	line-height: 1.2;
	text-align: center;
	text-decoration: underline;
	color: #FC534C;
}

/*btn/more/arr*/
/*------------------------------------------------------------------------------*/
.btn01 a {
	border: 2px solid #032E43;
	display: table;
	line-height: 1.2;
	font-size: 16px;
	width: 300px;
	height: 60px;
	background: #FFF;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	color: #032E43;
	position: relative;
	text-align: center;
	margin: 0 auto;
}
.btn01 a:before {
	content: '';
	width: 14px;
	height: 2px;
	background: #032E43;
	position: absolute;
	right: 20px;
	top: 50%;
	margin-top: -1px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.btn01 a:after {
	content: '';
	width: 6px;
	height: 6px;
	border-top: 2px solid #032E43;
	border-right: 2px solid #032E43;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 20px;
	top: 50%;
	margin-top: -4px;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
.btn01 a:hover {
	color: #FFF;
	background: #032E43;
}
.btn01 a:hover:after {
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
}
.btn01 a:hover:before {
	background: #FFF;
}

/*p span*/
/*------------------------------------------------------------------------------*/
.lead01 {
	font-size: 16px;
}

/*movie*/
/*------------------------------------------------------------------------------*/
.movie {
	position: relative;
	width: 100%;
	padding-top: 56.21%;
}
.movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/*animation*/
/*------------------------------------------------------------------------------*/
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/*.animation-fadeIn {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  opacity: 0;
}

.animation-fadeIn.is-animated {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
.animation-fadeIn.is-animated.delay01 {
	animation-delay: 0.1s;
}
.animation-fadeIn.is-animated.delay02 {
	animation-delay: 0.2s;
}
.animation-fadeIn.is-animated.delay03 {
	animation-delay: 0.3s;
}
.animation-fadeIn.is-animated.delay04 {
	animation-delay: 0.4s;
}
.animation-fadeIn.is-animated.delay05 {
	animation-delay: 0.5s;
}
.animation-fadeIn.is-animated.delay06 {
	animation-delay: 0.6s;
}*/

/*mainimg*/
/*------------------------------------------------------------------------------*/
#mainimage {
	width: 100%;
	position: relative;
}
.flexslider {
	overflow: hidden;
    position: relative;
}
.flexslider .slides > li {
    text-align: center;
}
#mainimage .main_img {
	height: 650px;
}
#mainimage01 {
	background: url(../image/main_img01.jpg) no-repeat center top;
	background-size: cover;
}
#mainimage02 {
	background: url(../image/main_img02.jpg) no-repeat center top;
	background-size: cover;
}
#mainimage03 {
	background: url(../image/main_img03.jpg) no-repeat center top;
	background-size: cover;
}
.flex-control-nav {
	bottom: 30px;
}
.flex-control-nav li {
	margin: 0 6px;
}
.flex-control-paging li a {
	width: 12px;
	height: 12px;
	background: #FFF;
}
.flex-control-paging li a.flex-active {
	background: #FC534C;
}
.mainimage_in {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 4;
	height: 650px;
	width: 1120px;
	margin: 0 auto;
}
#main_text {
	margin-top: 200px;
}
#main_text h2 {
	text-indent: -9999px;
	background: url(../image/main_text01.png) no-repeat;
	width: 443px;
	height: 276px;
}

/*top_bnr*/
/*------------------------------------------------------------------------------*/
#top_bnr ul:after {
	content: '';
	display: block;
	clear: both;
}
#top_bnr li {
	width: 18.75%;
	float: left;
	margin: 0 1.25% 20px 0;
	max-width: 210px;
}
#top_bnr li:last-child {
	margin: 0 0 20px;
}

/*tab_area*/
/*------------------------------------------------------------------------------*/
#tab_area {
	background: #F7F7F7;
	padding: 30px 2%;
	border-bottom: 4px solid #032E43;
}
#tab_area ul {
	display: flex;
	flex-wrap: wrap;
}
#tab_area li {
	width:23%;
	margin:0 1%;
}
#tab_area li .sub {
	display: block;
	color: #009B88;
	border-radius: 10px;
	padding: 9px;
	border: 1px solid #CCC;
	background: #FFF;
	line-height: 1.2;
	text-align: center;
	transition: 0.3s;
	cursor: pointer;
}
#tab_area li.active .sub,
#tab_area li .sub:hover {
	color: #FFF;
	background: #009B88;
	border: 1px solid #009B88;
}

/*top_box01*/
/*------------------------------------------------------------------------------*/
.top_box01 {
	display: none;
	transition: all 0.3s;
}

.top_box01 ul{
	display:flex;
	flex-wrap: wrap;
}

.top_box01.active {
	margin-bottom: 30px;
	display: block;
}
.top_box01 .inner {
	padding: 30px 2%;
	border: 1px solid #EEE;
	border-top: none;
}
.top_box01 ul:after {
	content: '';
	display: block;
	clear: both;
}
.top_box01 li {
	width: 32%;
	margin-right: 2%;
	background: #F7F7F7;
	position: relative;
}
.top_box01 li:last-child {
	margin-right: 0;
}
.top_box01.active li {
	animation-name: fadeIn;
}
.top_box01.active li:nth-child(2) {
	animation-delay: 0.2s;
}
.top_box01.active li:nth-child(3) {
	animation-delay: 0.4s;
}
.top_box01_in {
	padding: 20px 0 30px;
	line-height: 1.4;
}
.top_box01_in h4 {
	font-size: 18px;
	margin-bottom: 10px;
	padding:0 5% 10px;
	position:relative;
}
.top_box01_in h4::after {
	content: "";
	width: 60px;
	height: 3px;
	position: absolute;
	left: 5%;
	bottom: 0;
	background: #E95405;
}



.top_box01_in .case_content {
	margin-bottom: 15px;
	font-size: 13px;
	padding:0 5%;
}
.top_box01_in .case_cat {
	color: #FFF;
	background: #032E43;
	text-align: center;
	min-width: 50%;
	padding: 5px 18px;
	display: inline-block;
	position:absolute;
	left:0;
	bottom:0;
}
.top_box01 .bl-hot .img100{
	width:100%;
	height:0;
	padding-top:60%;
	background-position: center center;
	background-size:cover;
}
/*top_movie*/
/*------------------------------------------------------------------------------*/
#top_movie {
	padding: 60px 0 40px;
	background: #032E43;
	margin: -30px 0 80px;
}
#top_movie .slide_container {
    width: 100%;
}
#top_movie .slide_all {
	width: 760px;
	margin: 0 auto;
	height: 470px;
	position: relative;
}
#top_movie .slide_wrap {
	width: 2380px;
	position: absolute;
	left: 50%;
	margin-left: -1192px;
}
#top_movie .bxslider {
	width: 100%;
}
#top_movie .slide {
	width: 760px;
}
#top_movie .bx-wrapper {
	background: #032E43;
	border: none;
	box-shadow: none;
}
#top_movie .bx-pager {
	text-align: center;
}
#top_movie .bx-controls-direction a,.bx-pager-item {
	display: inline-block;
}
#top_movie .bx-pager-item a {
	display: block;
	height: 12px;
	width: 12px;
	text-indent: -9999px;
	background: #FFF;
	border-radius: 50%;
	margin: 0 6px;
}
#top_movie .bx-pager-item a.active {
	background: #FC534C;
}
#top_movie .bx-controls {
	position: absolute;
	bottom: -20px;
	z-index: 100;
	width: 100%;
}
#top_movie .prev_btn {
	background-image: url(../image/common/bx_prev.png);
	left: -30px;
}
#top_movie .next_btn {
	background-image: url(../image/common/bx_next.png);
	right: -30px;
}
#top_movie .prev_btn .bx-prev,
#top_movie .next_btn .bx-next {
	width: 100%;
	height: 100%;
	display: block;
	text-indent: -9999px;
}
#top_movie .movie_btn {
	background-repeat: no-repeat;
	background-position: center center;
	width: 60px;
	height: 60px;
	position: absolute;
	top: 50%;
	margin-top: -60px;
}
#slideFilterL,
#slideFilterR {
	position: absolute;
	width: 760px;
	height: 480px;
	top: 0;
}
#slideFilterL {
	left: -810px;
}
#slideFilterR {
	right: -810px;
}


/*top_box02*/
/*------------------------------------------------------------------------------*/
#top_box02 .inner {
	background: #EDEFF1;
	padding: 40px 4.9%;
}
#top_box02 .top_box02_in {
	display: table;
	width: 100%;
}
#top_box02 .unit:first-child {
	width: 43%;
	text-align: center;
	display: table-cell;
	vertical-align: middle;
	padding-right: 5%;
}
#top_box02 .unit:first-child img {
	max-width: 350px;
}
#top_box02 .unit:last-child {
	width: 57%;
	line-height: 1.5;
	display: table-cell;
	vertical-align: middle;
}
#top_box02 .unit:last-child dt {
	font-size: 24px;
	margin-bottom: 5px;
}

/*top_box03*/
/*------------------------------------------------------------------------------*/
#top_box03 {
	background: #F7F7F7;
	padding: 80px 0;
}
#top_box03 ul:after {
	content: '';
	display: block;
	clear: both;
}
#top_box03 li {
	float: left;
	width: calc((100% - 30px) / 2);
	height: 25.49%;
	margin: 0 30px 30px 0;
	position: relative;
	overflow: hidden;
}
#top_box03 li:nth-child(2n) {
	margin: 0 0 30px;
}
#top_box03 li img {
	transition: all 0.8s ease;
}
#top_box03 li:hover img {
	transform: scale(1.1);
	opacity: 1;
}
.top_box03_in {
	width: 210px;
	height: 140px;
	display: table;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	border: 3px solid #FFF;
}
.top_box03_in p {
	display: table-cell;
	vertical-align: middle;
	font-size: 28px;
	color: #FFF;
	line-height: 1.2;
}

/*top_box04*/
/*------------------------------------------------------------------------------*/
#top_box04 {
	background: #032E43;
	padding: 80px 0;
}
#top_box04 .toptitle03_01,
#top_box04 .lead01 {
	color: #FFF;
}
#top_box04 ul:after {
	content: '';
	display: block;
	clear: both;
}
#top_box04 li {
	float: left;
	width: calc((100% - 30px) / 2);
	margin-right: 30px;
}
#top_box04 li:last-child {
	margin-right: 0;
}
#top_box04 li .img100 {
	text-align: right;
}
#top_box04 li .img100 img {
	max-width: 480px;
}
#top_box04 li dl {
	background: #FFF;
	padding: 25px;
	max-width: 380px;
	margin-top: -70px;
	position: relative;
	z-index: 2;
}
#top_box04 li dl:after {
	content: '';
	position: absolute;
	background: url(../image/common/arr02.png) no-repeat;
	width: 12px;
	height: 12px;
	bottom: 8px;
	right: 8px;
}
#top_box04 li dt {
	font-size: 24px;
	line-height: 1.2;
	margin-bottom: 10px;
	color: #000;
}
#top_box04 li dd {
	line-height: 1.4;
}

/*top_box05*/
/*------------------------------------------------------------------------------*/
#top_box05 {
	background: #F7F7F7;
	padding: 40px 0;
}
#top_box05_in {
	padding: 30px 40px;
	background: #FFF;
}
#top_rss_box {
	padding-bottom: 50px;
}
#top_rss_box dl {
	margin-bottom: 20px;
}
#top_rss_box dl:after {
	content: '';
	display: block;
	clear: both;
}
#top_box05 .rss_date {
	color: #666;
	width: 90px;
	float: left;
}
#top_box05 dd {
	padding-left: 100px;
}
#top_box05 .rss_cat {
	color: #FFF;
	background: #032E43;
	width: 75px;
	line-height: 1.2;
	text-align: center;
	padding: 4px 0;
	float: left;
	font-size: 12px;
}
#top_box05 .rss_title {
	float: right;
	width: calc(100% - 100px);
}
#top_box05 .rss_title a {
	border-bottom: 1px solid #333;
}
#top_box05 .rss_title a:hover {
	border-bottom: none;
}
#top_box05 .rss_contents {
	display: none;
}

/*floating-banner*/
/*------------------------------------------------------------------------------*/
.floating-banner {
  position: fixed; /* バナーを追従させる */
  z-index: 99999; /* 他の要素の下に隠れないように */
  bottom: 0; /* バナーの上下の位置 */
  right: 0; /* バナーの左右の位置 */
  width: 300px; /* バナーの横幅 */
}
.floating-banner__image {
  max-width: 100%; /* 画像の最大幅 */
}
@media screen and (max-width: 990px) { /* タブレット用のブレイクポイントを指定 */
  .floating-banner {
    display: none; /* タブレットサイズ以下でPC用のバナーを非表示に */
  }
}
@media screen and (max-width: 560px) { /* スマホ用のブレイクポイントを指定 */
  .floating-banner {
    display: block;/* 消していたバナーを表示させる */
    width: 100vw; /* スマホの画面幅いっぱいにバナーを表示 */
  }
}
/* --- 追加：MV・CTAのレスポンシブ修正（PC用） --- */
/* --- PC用：CTAボタンの最終横並び調整 --- */
.btn-cta-area {
    position: absolute !important;
    top: auto !important;
    bottom: -65px !important; /* ロゴの下の隙間にぴったり配置 */
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    flex-direction: row !important; /* 強制横並び */
    gap: 15px !important;
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 !important;
}

.btn-cta-area a {
    display: inline-block !important;
    flex: 1 1 230px !important;
    max-width: 240px !important;
    min-width: 200px !important;
    height: 46px !important; /* 巨大な正方形化を阻止してスマートな高さに固定 */
    line-height: 46px !important;
    padding: 0 !important; /* 余計な広がりをリセット */
    font-size: 14px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}