@charset "UTF-8";
@import "reset5.css";
@import "animate.css";

body { color:#171717; line-height:1; background-color: #fff; padding: 0; position: relative; min-height: 100%; text-align: center; overflow: hidden; font-family: neue-haas-grotesk-text, "Helvetica Neue", Helvetica, Arial, sans-serif !important; font-size: 14px; letter-spacing: 0.08em; line-height: 1; font-weight: 400; -webkit-font-smoothing: antialiased; position: relative }
html { min-height: 100%; }

* {word-wrap: break-word; }
img { -ms-interpolation-mode: bicubic; vertical-align: bottom }
/* !font-size 12px default setting */
body p, body th, body td { font-size: 14px; line-height: 2em; letter-spacing: 0.08em; font-weight: 400; }
*:first-child+html body { font-size:77%; }
* html body { font-size:77%; }

h2,h3,h4,h4,h5 { line-height: 1.5em; font-weight: 600; letter-spacing: 0.1em; font-style: normal; }

pre {
	margin-bottom: 20px;
	padding: 20px;
	max-width: 100%;
	background-color: #eee;
	border-radius: 3px;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	line-height: 1.5;
	overflow: auto;
}

iframe { overflow: hidden }
video { vertical-align: bottom; }

/* !clearfix */
hr { display: none; }
.cfix:after { content: ""; display: block; clear: both; }
.cfix:before { content: ""; display: block; clear: both; }
.cfix { display: block; }

/* スクロールバーの有無によるズレ対策 */
html {
	overflow-y: scroll;
}

.tx9 { font-size: 9px !important; }
.tx10 { font-size: 10px !important; }
.tx11 { font-size: 11px !important; }
.tx12 { font-size: 12px !important; }
.tx13 { font-size: 13px !important; }
.tx14 { font-size: 14px !important; }
.tx15 { font-size: 15px !important; }
.tx16 { font-size: 16px !important; }
.tx18 { font-size: 18px !important; }
.tx20 { font-size: 20px !important; }
.tx24 { font-size: 24px !important; }
.tx28 { font-size: 28px !important; }
.tx32 { font-size: 32px !important; }
.tx36 { font-size: 36px !important; }
.tx40 { font-size: 40px !important; }

.fltR { float: right; }
.fltL { float: left; }

.txtR { text-align: right; }
.txtL { text-align: left; }
.txtC { text-align: center; }

/* !Links */
a { cursor: pointer }
a:link { color: #171717; text-decoration: none; }
a:visited { color: #171717; text-decoration: none }
a:hover { color: #a7a7a7; text-decoration: none; }
a:active { color: #000; text-decoration: none }
a.nb:link { border-bottom: none }

html { margin: 0; padding: 0 }
body { margin: 0; padding: 0 }

.noScroll {
  position: fixed !important;
  overflow-y: scroll;
}

#loader { position: fixed; left: 50%; top: 50%; z-index: 10000; }

.wrapper { position: relative; width: 100%; z-index: 10; }

#header { position: fixed; left: 0; top: -94px; width: 100%; height: 94px; background: transparent; text-align: left; z-index: 10000; min-width: 1040px }
#header h1 { position: relative; padding: 25px 0 0 50px; width: 172px; z-index: 10 }
#header #global-nav { position: absolute; right: 280px; top: 14px; margin-right: 0; }
#header #global-nav li { position: relative; float: left }
#header #global-nav li a { display: block; padding: 25px; line-height: 1em;  position: relative }
#header #global-nav li a p { position: relative; z-index: 10; font-size: 14px; font-weight: 500; letter-spacing: 0.06em; line-height: 1em; }
#header #global-nav li .mm-tri { position: absolute; left: 0; bottom: -15px; width: 100%;height: 8px; background: url(/en/images/index2/mm_tri.png) no-repeat center; background-size: contain; display: none; z-index: 0 }
#header #global-nav li.cur a p { /*background: #000;*/ color: #000; line-height: 1.5em; padding: 0 0.2em }
#header #global-nav li a span { position: absolute; display: block; left: 0; top: 9px; width: 100%; height: 48px; background: #ff8500; border-radius: 22px; z-index: 0; display: none }
@media screen and (max-width: 1430px){
	#header h1 { padding: 22px 25px; width: 200px }
	#header #global-nav li a { padding: 25px 15px; }
}
#header #mega-menu { position: absolute; left: 0; top: 94px; width: 100% }
#header #mega-menu .mm { position: absolute; left: 0; top: 0; width: 100%; background: #fff; border-top: solid 1px #dedede; display: none }
#header #mega-menu .mm .mm-inner { padding: 40px 11.6vw }
#header #mega-menu .mm .mm-inner .m-menu { float: left; width: 25% }
#header #mega-menu .mm .mm-inner .m-menu ul { padding: 0.5em 1em 1em; border-left: solid 1px #dedede; margin-bottom: 2em }
#header #mega-menu .mm .mm-inner .m-menu ul:last-child { margin-bottom: 0 }
#header #mega-menu .mm .mm-inner .m-menu ul li a { display: block; font-weight: 500; font-size: 14px; line-height: 1.8em; padding: 0.5em 0 }
#header #mega-menu .mm .mm-inner .m-menu ul li ol { padding: 0; }
#header #mega-menu .mm .mm-inner .m-menu ul li ol li a { display: block; font-weight: 400; padding: 0.25em 0 0.25em 1em; font-size: 13px; }
#header #mega-menu .mm .mm-inner .m-menu p { margin-top: 1em }
#header #mega-menu .mm .mm-inner .m-menu p span { font-weight: 500 }
#header #mega-menu .mm.mm07 .mm-inner .m-menu { width: 33.33% }
.mmWrap ol { float: left; margin-right: 2em }
.mm-btn { padding-right: 2em }
.mm-btn a { position: relative; display: block; padding: 1em; background: #f7f7f7; border: solid 1px #a9a9a9; text-align: center; font-weight: 700 }
.mm-btn a .arw { position: absolute; left: 1em; top: 50%; margin-top: -3px }
#btn-en { position: absolute; right: 90px; top: 25px; background: #f7f7f7; line-height: 1em; font-size: 14px; border-radius: 22px }
#btn-en a { display: block; padding: 16px 24px 16px 48px; font-weight: 500 }
#btn-en a .arw { position: absolute; left: 20px; top: 50%; margin-top: -3px }
#btn-search { position: absolute; right: 25px; top: 25px; height: 45px; z-index: 10 }
#btn-search a { position: absolute; display: block; right: 0; top: 0; width: 45px; height: 45px; background: #ff8500; border-radius: 22px 22px 22px 0px; z-index: 10; padding: 15px; box-sizing: border-box; }
#btn-search a:before { content: "\f002"; font-family: FontAwesome; color: #fff; }
#btn-search .search-form { position: absolute; right: 0; top: 0; width: 250px; height: 45px; border-radius: 22px; background: #ff8500; z-index: 20; display: none }
#btn-search .search-form input { margin: 0; border-radius: 12px; border: none; padding: 0 10px; width: 190px; border-radius: 20px !important; font-family : inherit; font-size : 100%; }
#btn-search .search-form input:focus { outline: none; }
#SS_searchSubmit { display: none }
#header #sp-menu { display: none }
#cvr { position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.25); z-index: 9999; display: none }

#top-main { position: relative; min-height: 100vh }
#top-main .top-slide { position: relative; overflow: hidden }
#top-main .top-slide .slide { position: absolute; left: 0; top: 0; overflow: hidden; opacity: 0 }
#top-main .top-slide .maincopy { position: absolute; left: 0; top: 58%; width: 100%; font-size: 80px; font-weight: 700; letter-spacing: 0.1em;  line-height: 1em; color: #fff; opacity: 0; text-shadow: 1px 2px 8px rgba(0,0,0,0.4); }
#top-main .top-slide .mask { position: absolute; left: 0; top: 0; }
#top-main .intro { position: absolute; left: 50%; top: 50%; width: 440px; margin: -83px 0 0 -220px }
#top-main .intro .icon { position: absolute; left: 0; top: 0; opacity: 0 }
#top-main .intro .logotype { position: absolute; right: 0; top: 0; opacity: 0 }
#top-main .intro .copy { opacity: 0 }

.mask-img {
	mask-image: url(slide_mask.svg);
	mask-repeat: no-repeat;
	mask-size: 1%;
	mask-position: center;
	-webkit-mask-image: url(slide_mask.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: 1%;
	-webkit-mask-position: center;
	transition: all 2s 0s linear;
}
.maskIn {
    mask-size: 200%;
    -webkit-mask-size: 200%;
}

#top-search { position: relative; padding: 40px 5.8vw; background: #f5f3ff; overflow: hidden }
#top-search h3 { font-size: 18px; color: #ff8500; letter-spacing: 0.8em; margin-bottom: 1.5em }
#top-search ul {  }
#top-search ul li { display: inline-block; width: 16.66% }
#top-search ul li .sc-inner { padding: 0 20px; margin-bottom: 1.5em }
#top-search ul li .sc-inner a { display: block; background: #fff; border-radius: 50%; box-shadow: 0 0 6px 6px #f0eefa; transition: all 0.2s ease-out; transform: scale(1) }
#top-search ul li .sc-inner a:hover { border-radius: 50% 50% 50% 0; box-shadow: none; background: #ff8500; transform: scale(1.12); }
#top-search .gra { position: absolute; left: 0; top: 0; z-index: 0; height: calc(100% - 50px) }
@media screen and (max-width: 1600px){
	#top-search ul li .sc-inner { margin-bottom: 1em }
}

.top-sec { position: relative; top: 120px; opacity: 0; }
.btit { font-size: 42px; line-height: 1em; padding-bottom: 0.5em; }
.btit span.ja { font-size: 16px; display: block }
.top-btn { width: 33.33%; margin: 0 auto; margin-top: 2em }
.top-btn a { position: relative; display: block; padding: 1em; background: #fff; border-radius: 20px; box-shadow: 1px 1px 1px 1px #efefef; }
.top-btn a .arw { position: absolute; left: 20px; top: 50%; margin-top: -3px }
#top-pickup { padding: 50px 0 }
#top-pickup .sec-inner { padding: 5.8vw 0; position: relative; min-height: 300px }
#top-pickup .sec-inner .gra { position: absolute; left: 0; top: 0; z-index: 0; height: 100% }

#top-news { padding: 0 5.8vw; position: relative; overflow: hidden }
#top-news .gra { position: absolute; right: 0; bottom: 50px }
#top-news .sec-inner { position: relative; padding: 5.8vw }
#top-news .sec-inner .btit span.ja { color: #1bbcfe }
#top-news .sec-inner .news-tab { background: #fff; border-bottom: solid 1px #000; overflow: hidden }
#top-news .sec-inner .news-tab li { position: relative; float: left; width: 33.33% }
#top-news .sec-inner .news-tab li a { position: relative; display: block; padding: 1.2em; font-weight: 700; cursor: pointer; z-index: 10 }
#top-news .sec-inner .news-tab li div.bg { position: absolute; left: 0; top: 100%; width: 100%; height: calc(100% + 8px); background: #1bbcfe; border-radius: 8px; }
#top-news .sec-inner .news-tab li.on div.bg { top: 0; }
#top-news .sec-inner .newsWrap { position: relative; text-align: left }
#top-news .sec-inner .newsWrap ul { border-top: solid 1px #1bbcfe; }
#top-news .sec-inner .newsWrap li { position: relative; border-bottom: solid 1px #dedede; mix-blend-mode: multiply }
#top-news .sec-inner .newsWrap li .date { position: absolute; left: 2em; top: 2em; font-weight: 500 }
#top-news .sec-inner .newsWrap li a { display: block; padding: 2em 2em 2em 12em; position: relative }
#top-news .top-btn a { background: #f7f7f7; }

#top-action { padding: 50px 0 0 }
#top-action .sec-inner { padding: 0 }
#top-action .sec-inner .act-head { position: relative; min-height: 300px; overflow: hidden }
#top-action .sec-inner .act-head .gra { position: absolute; left: 0; top: 0 }

#top-casestudy { padding: 50px 0; background: #f7f7f7 }
#top-casestudy .sec-inner { padding: 0 2.9vw  }
#top-casestudy .sec-inner .cases { position: relative; width: 100%; max-width: 1360px; margin: 0 auto; min-height: 18vw; overflow: hidden; }
#top-casestudy .sec-inner .caseWrap { position: absolute; left: 0; top: 0; width: 100%; min-height: 12.56vw; padding: 0 10px; }
#top-casestudy .sec-inner .caseWrap ul { margin: 0 -10px }
#top-casestudy .sec-inner .caseWrap ul li { float: left; width: 20%; }
#top-casestudy .sec-inner .caseWrap ul li a { display: block; padding: 10px }
#top-casestudy .sec-inner .caseWrap ul li a span { display: flex; align-items: center; overflow: hidden; border-radius: 16px; box-shadow: 1px 1px 1px 1px #efefef; background-color: #fff; aspect-ratio: 1 / 1; padding: 10px; }
#top-casestudy .sec-inner .case-prev { position: absolute; left: -10px; top: 50%; cursor: pointer; }
#top-casestudy .sec-inner .case-next { position: absolute; right: -10px; top: 50%; cursor: pointer; }

#footer {  }
#footer .foot { padding: 60px 11.6vw 0 }
#footer .foot .privacy { position: relative; padding: 0 120px 20px 0; }
#footer .foot .privacy .privacy-inner { text-align: left; }
#footer .foot .privacy .privacy-inner .cont { float: left; width: 50%; margin-right: 2%; min-height: 90px }
#footer .foot .privacy .privacy-inner .cont:last-child { width: 46%; margin-right: 0 }
#footer .foot .privacy .privacy-inner .cont img { float: left; margin-right: 1em }
#footer .foot .privacy .privacy-inner .cont p { font-size: 10px; line-height: 1.6em; margin: 0 }
#footer .foot .privacy .pmark { position: absolute; right: 0; top: 0 }
#footer .foot .service-logos { padding: 30px 0; border-top: solid 1px #dedede; display: flex; justify-content: center; }
#footer .foot .service-logos a { margin: 0 1em; display: flex; flex-direction: column; gap: 10px; flex-basis: 250px; color:#000; }
#footer .foot .service-logos a figure { display: flex; align-items: start; justify-content: center; height: 46px; }
#footer .foot .service-logos a span { font-size: 0.85em; text-align: center; }
#footer .footer-inner { position: relative; padding: 60px 11.6vw 40px; text-align: left; background: #000 }
#footer .footer-inner h1 { width: 200px }
#footer #fnav { margin-top: 40px }
#footer #fnav .links { float: left; width: 23.5%; margin-right: 1% }
#footer #fnav .links:last-child {  width: 25% }
#footer #fnav .links a:link { color: #c6c6c6; text-decoration: none; }
#footer #fnav .links a:visited { color: #c6c6c6; text-decoration: none }
#footer #fnav .links a:hover { color: #f6f6f6; text-decoration: none; }
#footer #fnav .links a:active { color: #000; text-decoration: none }
#footer #fnav .links ul { padding-bottom: 1em; margin-left: 1em }
#footer #fnav .links ul li { font-weight: 500; font-size: 14px; line-height: 1.8em; padding: 0.5em 0 }
#footer #fnav .links ul li ul li { font-weight: 400; font-size: 13px; }
#footer #fnav .links a.tit { font-weight: 700 !important; font-size: 15px !important; padding: 0 0 1em !important; display: block }
#footer .copyright { position: relative; width: 100%; color: #fff; margin-top: 2em; font-weight: 700 }

#gotopt { position: fixed; right: 50px; bottom: -80px; cursor: pointer }

.t-img { position: fixed; left: 0; bottom: 0; width: 100%; z-index: 0; }
.f-img { position: fixed; left: 0; bottom: 0; width: 100%; z-index: 0; }

.link-txt { font-size: 20px; text-align: right; font-family: neue-haas-grotesk-display, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; font-weight: 600; font-style: normal; }
.link-txt.ss { font-size: 16px }
.link-txt a { display: inline-block; }
.link-txt a .arw { position: relative; width: 70px; height: 16px; display: inline-block; margin-right: 1em }
.link-txt.ss a .arw { height: 14px; margin-top: 1em }
.link-txt a .arw span { position: absolute; left: 0; top: 50%; width: 60px; height: 1px; background: #a7a7a7 }
.link-txt a:hover .arw span { background: #000 }
.link-txt a .arw img { position: absolute; right: 0; top: 50%; margin-top: -3px; }
.link-btn { font-size: 20px; text-align: center; font-family: neue-haas-grotesk-display, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; font-weight: 600; font-style: normal; }
.link-btn a { display: block; padding: 2em 0; background: #fff; }
.link-btn a .arw { position: relative; width: 70px; height: 16px; display: inline-block; margin-right: 1em }
.link-btn a .arw span { position: absolute; left: 0; top: 50%; width: 60px; height: 1px; background: #a7a7a7 }
.link-btn.back a .arw span { position: absolute; left: inherit; right: 0; top: 50%; width: 60px; height: 1px; background: #a7a7a7 }
.link-btn a:hover { background: #fff }
.link-btn a:hover .arw span { background: #000 }
.link-btn a .arw img { position: absolute; right: 0; top: 50%; margin-top: -3px; }
.link-btn.back a .arw img { position: absolute; left: 0; right: inherit; top: 50%; margin-top: -3px; }
.caseimg { object-fit: cover; }

a.n_link { color: #369; display: inline-block; }
a.n_link2 { color: #369; display: inline; }
.outlink { font-size: inherit; font-weight: inherit; }
.outlink:after { content: ""; padding-right: 24px; background: url( /ja/images/outlink.svg ) right center / 14px 14px no-repeat; }


.wid2 { width: 50% !important }
.wid3 { width: 33.33% !important }
.wid4 { width: 25% !important }
.no-b { border: none }
.serif { font-family: Didot, "Times New Roman", Times, "游明朝体", "Yu Mincho", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif"; }
.nm { font-family: number, Didot; }
.bg-w { background-color: #fff }
.cap { margin-top: 1em; font-size: 14px !important }

.mb0 { margin-bottom: 0 !important }
.pb0 { padding-bottom: 0 !important }
.mb20 { margin-bottom: 20px !important }
.mb40 { margin-bottom: 40px !important }
.pb40 { padding-bottom: 40px !important }

.gry { color: #a7a7a7 }
.bl { color: #0174b3 }
.bl1 { color: #06477f }
.bl2 { color: #0174b3 }
.bl3 { color: #007e96 }

.pc-none { display: none }
.sp-none { display: block }


@media screen and (max-width: 1260px){
	#header { height: 72px }
	#header h1 { position: relative; padding: 15px 20px; width: 172px }
	#header #global-nav { display: none }
	#header #mega-menu { display: none }
	#btn-contact { display: none }
	#btn-en { display: none }
	#btn-search { display: none }
	#menu-btn { position: fixed; right: 0; top: 0; width: 50px; height: 50px; z-index: 1000; cursor: pointer }
	#menu-btn span.ln1 { position: absolute; left: 50%; top: 50%; margin: -4px 0 0 -25%; width: 50%; height: 2px; background: #ff8500 }
	#menu-btn span.ln2 { position: absolute; left: 50%; top: 50%; margin: 4px 0 0 -25%; width: 50%; height: 2px; background: #f9452d }
	#header #sp-menu { display: none; position: absolute; left: 0; top: 0;  width: 100%; height: 100vh; background: rgba(255,255,255,0.95); overflow-y: scroll; z-index: 0 }
	#header #sp-menu .spmenu-inner { padding: 70px 0 5.8vw }
	#header #sp-menu .spmenu-inner ul { border-top: solid 1px #dedede }
	#header #sp-menu .spmenu-inner li { border-bottom: solid 1px #dedede }
	#header #sp-menu .spmenu-inner li a { display: block; padding: 1.5em 5.8vw; font-size: 14px; font-weight: 500; position: relative }
	#header #sp-menu .spmenu-inner li a.ac .plus { position: absolute; right: 5.8vw; top: 50%; margin-top: -10px; font-size: 20px; color: #f9452d  }
	#header #sp-menu .spmenu-inner li ol { display: none; padding: 0 5.8vw 1em; }
	#header #sp-menu .spmenu-inner li ol li { border-bottom: none; border-left: solid 1px #dedede }
	#header #sp-menu .spmenu-inner li ol li a { padding: 1em 5.8vw; font-size: 13px; }
	#header #sp-menu .spmenu-inner li ol li.ch a { padding: 1em 5.8vw 1em 8vw; font-size: 13px; font-weight: 400 }
	#header #sp-menu .spmenu-inner .link-en { background: #f7f7f7; line-height: 1em; font-size: 14px; border-radius: 22px; margin: 1.5em 5.8vw;  }
	#header #sp-menu .spmenu-inner .link-en a { position: relative; display: block; padding: 14px 0; font-weight: 500; text-align: center }
	#header #sp-menu .spmenu-inner .link-en a .arw { position: absolute; left: 20px; top: 50%; margin-top: -3px }
	#header #sp-menu .spmenu-inner .search-form-sp { padding: 0 5.8vw; position: relative }
	#header #sp-menu .spmenu-inner .search-form-sp input { margin: 0; border-radius: 15px 0 0 15px; border: solid 1px #dedede; padding: 0.5rem 1em; width: 100% }
	#header #sp-menu .spmenu-inner .search-form-sp #SS_searchSubmit { display: block; position: absolute; right: 5.8vw; top: 0; width: 44px; height: 44px; background: url(/en/images/index2/btn_seach.png) no-repeat; background-size: contain; text-indent: -1000em; border: none; border-radius: 0 }
}
@media screen and (max-width: 1050px){
	#top-main .top-slide .maincopy { font-size: 7.6vw; }
}
@media screen and (max-width: 768px){

	body { font-size: 13px; letter-spacing: 0.08em;  }
	body p, th, td { font-size: 13px; line-height: 1.8em; letter-spacing: 0.12em; }
	h2,h3,h4,h4,h5 { line-height: 1.4em; }

	#header { height: 50px; min-width: inherit }
	#header h1 { position: relative; padding: 10px 20px; width: 120px }
	#header #sp-menu .spmenu-inner { padding: 50px 0 5.8vw }

	#top-main { position: relative; min-height: 70vw; }
	#top-main .top-slide { position: relative; overflow: hidden }
	#top-main .top-slide .slide { position: absolute; left: 0; top: 0; overflow: hidden; opacity: 0 }
	#top-main .top-slide .slide:first-child { position: relative }
	#top-main .top-slide .maincopy { font-size: 24px; letter-spacing: 0.12em; width: 300px; left: 50%; transform: translateX(-50%); line-height: 1.3; }
	#top-main .top-slide .mask { position: absolute; left: 0; top: 0; }
	#top-main .intro { width: 264px; margin: -50px 0 0 -132px }

	#top-search { padding: 20px 5.8vw 30px; }
	#top-search h3 { font-size: 12px; color: #ff8500; letter-spacing: 0.5em; margin-bottom: 0.5em }
	#top-search ul { margin: 0 -10px }
	#top-search ul li { position: relative; float: left; width: 33.33%; font-size: 12px }
	#top-search ul li .sc-inner { padding: 10px; margin-bottom: 0.25em }
	#top-search ul li .sc-inner a { box-shadow: 0 0 3px 3px #f0eefa; }
	#top-search .gra { position: absolute; left: 0; top: 0; z-index: 0; height: calc(100% - 60px) }

	.top-sec { position: relative; top: 60px; opacity: 0 }
	.btit { font-size: 32px; line-height: 1em; padding-bottom: 0.25em; }
	.btit span.ja { font-size: 12px; display: block }
	.top-btn { width: 66.66%; margin: 0 auto; margin-top: 2em }
	.top-btn a { position: relative; display: block; padding: 1em; background: #fff; border-radius: 20px; box-shadow: 1px 1px 1px 1px #efefef; }
	.top-btn a .arw { position: absolute; left: 20px; top: 50%; margin-top: -3px }
	#top-pickup { padding: 20px 0 }
	#top-pickup .sec-inner { padding: 5.8vw 0; position: relative; min-height: 200px }
	#top-pickup .sec-inner .gra { width: 75%; height: auto }
	#top-pickup .sec-inner .pu { position: relative; float: none; width: 100%; text-align: center; }
	#top-pickup .sec-inner .pu h2.btit { margin: 0 }
	#top-pickup .sec-inner .pu p { margin: 0 }
	#top-pickup .sec-inner .slideWrap { position: relative; float: none; width: 80%; min-height: 88.4vw; margin: 1em 10% 0; overflow: hidden }
	#top-pickup .sec-inner .slideWrap ul { position: absolute; left: 0; top: 0; padding: 0; width: 1300%; margin-left: -100% }
	#top-pickup .sec-inner .slideWrap li { float: left; width: 7.6923%; text-align: left }
	#top-pickup .sec-inner .slideWrap li a { display: block; padding: 20px }
	#top-pickup .sec-inner .cir-prev { position: absolute; right: auto; left: 0; top: 50%; width: 40px; height: 40px; }
	#top-pickup .sec-inner .cir-next { display: block; position: absolute; right: 0; top: 50%; width: 40px; height: 40px; }

	#top-news { padding: 20px 0; position: relative; overflow: hidden }
	#top-news .gra { position: absolute; right: 0; bottom: 20px; width: 50%; height: auto }
	#top-news .sec-inner { position: relative; padding: 5.8vw 0 }
	#top-news .sec-inner .news-tab li { position: relative; float: left; width: 33.33%; height: 50px }
	#top-news .sec-inner .news-tab li a { position: relative; display: block; padding: 1em; font-weight: 700; cursor: pointer; z-index: 10 }
	#top-news .sec-inner .news-tab li div.bg { position: absolute; left: 0; top: 100px; width: 100%; height: 100px; background: #1bbcfe; border-radius: 8px; }
	#top-news .sec-inner .news-tab li.on div.bg { top: 0; }
	#top-news .sec-inner .newsWrap li { line-height: 1.5 }
	#top-news .sec-inner .newsWrap li .date { position: absolute; left: 5.8vw; top: 1em; }
	#top-news .sec-inner .newsWrap li a { display: block; padding: 1em 5.8vw 1em 10em; }

	#top-action { padding: 20px 0 0 }
	#top-action .sec-inner { padding: 0 }
	#top-action .sec-inner .act-head { position: relative; min-height: 160px; }
	#top-action .sec-inner .act-head .gra { position: absolute; left: 0; top: 0; width: auto; height: 140px }

	#top-casestudy { padding: 20px 0; background: #f7f7f7 }
	#top-casestudy .sec-inner { padding: 0 }
	#top-casestudy .btit { font-size: 24px; }
	#top-casestudy .sec-inner .cases { position: relative; width: 100%; min-height: 40vw; overflow: hidden; }
	#top-casestudy .sec-inner .caseWrap { position: absolute; left: 0; top: 0; width: 100%; min-height: 12.56vw; padding: 0 10px; }
	#top-casestudy .sec-inner .caseWrap ul li { float: left; width: 33.33%; }
	#top-casestudy .sec-inner .caseWrap ul li a { display: block; padding: 5px }
	#top-casestudy .sec-inner .caseWrap ul li a span { display: block; overflow: hidden; border-radius: 16px; box-shadow: 1px 1px 1px 1px #efefef; display: flex; justify-content: center; align-items: center; }
	#top-casestudy .sec-inner .case-prev { position: absolute; left: -10px; top: 50%; }
	#top-casestudy .sec-inner .case-next { position: absolute; right: -10px; top: 50%; }
	#top-casestudy .sec-inner .case-prev img, #top-casestudy .sec-inner .case-next img { height: 40px }

	#footer {  }
	#footer .foot { padding: 30px 5.8vw 0 }
	#footer .foot .privacy { position: relative; padding: 0 0 15px; }
	#footer .foot .privacy img { height: 64px }
	#footer .foot .privacy .privacy-inner { text-align: left; }
	#footer .foot .privacy .privacy-inner .cont { float: none; width: 100%; margin-right: 0; margin-bottom: 20px; min-height: inherit }
	#footer .foot .privacy .privacy-inner .cont:last-child { width: 100%; margin: 0 0 20px }
	#footer .foot .privacy .privacy-inner .cont img { float: left; margin: 0 1em 6px 0 }
	#footer .foot .privacy .privacy-inner .cont p { font-size: 9px; line-height: 1.6em; margin: 0 }
	#footer .foot .privacy .pmark { position: relative; right: inherit; top: inherit }
    #footer .foot .service-logos { padding: 20px 0; border-top: solid 1px #dedede; flex-direction: column; gap: 15px; }
	#footer .foot .service-logos a { margin: 0 1em; flex-basis: auto; gap: 5px; }
	#footer .foot .service-logos a:first-child figure,
	#footer .foot .service-logos a:first-child figure img { height: 26px; }
	#footer .foot .service-logos a:nth-of-type(2) figure,
	#footer .foot .service-logos a:nth-of-type(2) figure img { height: 40px; }
	#footer .footer-inner { position: relative; padding: 30px 11.6vw 20px; text-align: left; background: #000 }
	#footer .footer-inner h1 { width: 120px }
	#footer #fnav { margin-top: 30px }
	#footer #fnav .links { float: none; width: 100%; }
	#footer #fnav .links:first-child { width: 100%; display: block }
	#footer #fnav .links { display: none; }
	#footer #fnav .links a.tit { font-weight: 700 !important; font-size: 13px !important; padding: 0 0 1em !important; display: block }
	#footer .copyright { position: relative; width: 100%; color: #fff; margin-top: 2em; font-weight: 700 }

	#gotopt { position: fixed; right: 10px; bottom: 10px; cursor: pointer }
	#gotopt img { height: 40px }

	.br:before {
		content: "" ;
		white-space: pre ;
	}

	.lcnrw { letter-spacing: 0.12em !important }
	.wid2 { width: 100% !important }
	.wid3 { width: 100% !important }
	.wid4 { width: 50% !important }
	.pc-none { display: block }
	.sp-none { display: none }
	.spw { width: 100%; height: auto }
}

@media screen and (max-width: 375px){
	#header #sp-menu .spmenu-inner .search-form-sp input { width: 100% }
}
@media screen and (max-width: 320px){
	#header #sp-menu .spmenu-inner .search-form-sp input { width: 100% }
}

/********************* marsFinder **********************/	
.search-form .mf_finder_container{ margin: 0; }	
.search-form .mf_finder_searchBox_items,
.search-form .mf-search-bar_input-wrapper { padding: 5.5px 1px !important; width: 185px; margin: 0 auto 0 0; }	
.search-form .mf_finder_searchBox,
.search-form .mf-search-bar { margin-left: 5px !important; }
.search-form .mf-search-bar { margin-right: 1rem; }
.search-form .mf_finder_searchBox_query_input { height: 1rem !important; }	
.search-form .mf_finder_searchBox_query_wrap { width: 185px !important; }	
.search-form .mf_finder_searchBox_query_wrap ul { display:none; }	
.search-form .mf_finder_searchBox_submit,
.search-form .mf-search-bar_input_alt-btn { background-color: #ff8500 !important; padding: 0 0 0 25px !important; color: #fff !important; }
.search-form .mf-search-bar_input_alt-btn::before,
.search-form-sp .mf-search-bar_input_alt-btn::before { color: #fff; content: "\f002"; font-family: FontAwesome; }
.search-form .mf-search-bar_input { position: relative; z-index: 1; }
.search-form-sp .mf-search-bar_input { border-radius: 4px 0 0 4px !important; border-right: 0 !important; }
.search-form-sp .mf_finder_container{ margin: 0; width: 100%; }	
.search-form-sp .mf_finder_searchBox,
.search-form-sp .mf-search-bar { margin-left: 0 !important; margin-right: 0 !important; }	
.search-form-sp .mf_finder_searchBox_items,
.search-form-sp .mf-search-bar_input-wrapper { width: 100% !important; }	
.search-form-sp .mf_finder_searchBox_submit,
.search-form-sp .mf-search-bar_input_alt-btn { background-color: #ff8500 !important; padding: 0 20px; border-radius: 0 15px 15px 0; color:#fff; width: 100%; height: 100%; }
.search-form-sp .mf_finder_searchBox_submit span,
.search-form-sp .mf-search-bar_input_alt-btn svg,
.search-form .mf-search-bar_input_alt-btn svg { display: none; }
.search-form-sp .mf_finder_searchBox_query_wrap ul { display:none; }
.search-form-sp .mf-search-box .mf-search-bar .mf-search-bar_input-buttons { flex-shrink: 0; height: 35px; padding: 0; width: 55px; position: static; }
.search-form .mf-search-box {padding: 0 !important;}

/* -------------------------- module -------------------------------- */
.for_pc { display:block!important; } .for_sp { display:none!important; }
@media screen and (max-width:768px) { 
	.for_sp { display:block!important; } .for_pc { display:none!important; }
}
.mb15 { margin-bottom: 15px!important; }
.mt15 { margin-top:15px!important; }
.img_max { max-width: 100%; }
.img_fit { width: 100%; height: 100%; object-fit: cover; }
/********************* movie gallery **********************/
#movie_btn {
	position: absolute;
	top: 72%;
	left: 50%;
	padding: 14px 35px 15px 55px;
	border-radius: 100px;
	border: 0;
	font-size: 16px;
	background: url(https://www.bell24.co.jp/ja/images/index2/arw00.png) left 25px center / 10px #7c61ff no-repeat;
	z-index: 9;
	opacity: 0;
	transition: transform 0.3s ease-in-out;
	width: 220px;
	margin-left: -110px;
	box-sizing: border-box;
}
#movie_btn a { color: #fff; white-space: nowrap; }

.btn_in{
	animation-name:fadeUpAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	animation-delay: 1s;
}
@keyframes fadeUpAnime{ from { opacity: 0; top: 73%; } to { opacity: 1; top: 72%; } }

#movie_btn:hover {
	background-color: #b9acff;
	cursor: pointer;
	transform: scale(1.1);
}

/* トップMVスライダー2024 */

.top_copy2, .btn01 { position: absolute; opacity: 0; transform: translate(-50%, 40px); transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out; }
.top_copy2 { top: 60%; left: 50%; white-space: nowrap; letter-spacing: 0.1em;}
.btn01 { top: 75%; left: 50%; color: #fff; padding: 19px 35px 20px 55px; border-radius: 100px; border: 0; font-family: noto-sans-cjk-jp; font-size: 16px; background: url(https://www.bell24.co.jp/ja/images/index2/arw00.png) left 25px center / 10px no-repeat; white-space: nowrap; }
.btn01:hover { opacity: 0.8; }
a.btn01 { color: #fff; }
#slide01 .top_copy2 { font-size: 4rem; font-weight: 700; color: #fff; text-shadow: 1px 2px 8px rgba(0,0,0,0.4); }
#slide01 .btn01 { background-color:#7c61ff; }
#slide02 .top_copy2 { font-size: 20px; font-weight: 700; color: #494f51; }
#slide02 .btn01 { background-color:#00ced1; }
#slide03 .top_copy2 { font-size: 2rem; font-weight: 700; color: #fff; text-shadow: 1px 2px 8px rgba(0,0,0,0.4); }
#slide03 .btn01 { background-color:#ff8500; }
#slide03 .top_copy2 { top: 45%; }
#slide03 .top_copy2 .bpo_logo { width: 750px; margin-bottom: 2.5rem; }
@media screen and (max-width: 768px){
	.btn01 {　font-szie: 14px; padding: 14px 30px 15px 45px; }
	#slide01 .top_copy2 { font-size: 1.5rem; }
	#slide02 .top_copy2 { font-size: 1rem; }
	#slide03 .top_copy2 { font-size: 1.2rem; width: 100%; top: 40%; }
	#slide03 .top_copy2 .bpo_logo { width: 90%; }
}
.top-slide .slide.active .top_copy2 { animation: fadeUp 0.5s ease-in-out 2s forwards; }
.top-slide .slide.active .btn01 { animation: fadeUp 0.5s ease-in-out 2.5s forwards; }
@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

#btn-contact { position: absolute; right: 210px; top: 25px; background: #f7f7f7; line-height: 1em; font-size: 15px; border-radius: 22px; font-family: FontAwesome; }
#btn-contact a { display: block; padding: 16px; font-weight: 500; color: #ff8500; }
