@charset "UTF-8";
/* CSS Document */
/* 画像サイズ調整 ---------------------------------------------------------------------------*/
/* フォントサイズ調整 ---------------------------------------------------------------------------*/
/* ブレークポイント ---------------------------------------------------------------------------*/
/*_____ font weight _______________*/
/*---------------------------------------------------------------------------*/
.top_page { position: relative; width: 100%; height: 100%; }
.top_page .top_content { width: 100%; min-width: 1200px; }
.top_page .top_content .txt_content { position: absolute; bottom: 40px; left: 0; right: 0; margin: 0 auto; width: 660px; padding-left: 35px; }
.top_page .top_content .top_ttl { font-family: 'Heebo', sans-serif; font-weight: 700; font-size: 8rem; line-height: 1; color: #62d5ff; margin-bottom: 12px; letter-spacing: 1px; }
.top_page .top_content .top_ttl .txt_jp { color: #fff; font-size: 7.2rem; line-height: 1; display: inline-block; font-weight: 700; font-family: 'Noto Sans Japanese', sans-serif; }
.top_page .top_content p { font-size: 1.873rem; line-height: 31.56px; color: #fff; font-weight: normal; letter-spacing: 4px; }
.top_page .top_content .top_logo { position: absolute; bottom: 23px; right: 20px; display: inline-block; }
.top_page #canvas canvas { vertical-align: top; }
.top_page .link { display: table; }
.top_page .link .top_logo { -webkit-transition: all .35s ease; -moz-transition: all .35s ease; transition: all .35s ease; }
.top_page .link:hover .top_logo { opacity: 0.7 !important; }
.contents .top_news { position: relative; padding-bottom: 180px; }
.contents .top_news::after { content: ''; position: absolute; left: 0; bottom: -163px; background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: -450px 0px; width: 420px; height: 499px; }
.contents .top_news .inner { background: url("../common//images/bgr_blue.png") repeat; padding: 40px 103px 38px; z-index: 99; position: relative; }
.contents .top_news .news_top { /* For IE 6/7 only */ *zoom: 1; }
.contents .top_news .news_top:before, .contents .top_news .news_top:after { content: ' '; display: table; }
.contents .top_news .news_top:after { clear: both; }
.contents .top_news .news_top .ttl { float: left; font-size: 2.6rem; line-height: 55px; color: #fff; font-weight: 400; letter-spacing: 1px; padding-left: 8px; }
.contents .top_news .news_top .ttl span { color: #7d96e1; font-size: 1.2rem; line-height: 18px; display: inline-block; font-weight: 700; position: relative; top: -5px; padding-left: 26px; letter-spacing: 3px; }
.contents .top_news .news_top .btn_default { color: #fff; border: 1px solid #fff; font-size: 1.4rem; line-height: 37px; float: right; width: 127px; height: 43px; margin: 5px 0 0; font-weight: 400; }
.contents .top_news .news_top .btn_default:hover { background: #fff; border: 2px solid #fff; }
.contents .top_news .news_top .btn_default:hover::after { color: #27408c; }
.contents .top_news .news_btom { padding-top: 22px; }
.contents .top_news .news_btom a { display: block; }
.contents .top_news .news_btom a:hover p { text-decoration: underline; }
.contents .top_news .news_btom dl { display: table; width: 100%; padding: 26px 18px 23px 0; border-top: 1px solid #657aba; }
.contents .top_news .news_btom dl > * { display: table-cell; vertical-align: middle; }
.contents .top_news .news_btom dl dt time, .contents .top_news .news_btom dl dt p, .contents .top_news .news_btom dl dd time, .contents .top_news .news_btom dl dd p { font-size: 1.4rem; line-height: 26px; color: #fff; }
.contents .top_news .news_btom dl dt { width: 166px; padding-left: 18px; }
.contents .top_news .news_btom dl dt time { letter-spacing: 2px; font-weight: 700; font-family: 'Heebo', sans-serif; }
.contents .top_news .news_btom dl:first-child { padding-top: 23px; border-top: 1px solid #aebff1; }
.contents .top_strength { background: #f5f5f5; text-align: center; margin-top: -30px; padding-bottom: 82px; }
.contents .top_strength .inner { position: relative; }
.contents .top_strength .inner::before { content: ''; position: absolute; right: -5px; top: -70px; background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: -890px 0px; width: 373px; height: 171px; }
.contents .top_strength .str_ttl { font-size: 6.154rem; line-height: 114px; font-family: "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; font-weight: 400; position: relative; top: -57px; letter-spacing: 4px; }
.contents .top_strength p { font-size: 1.6rem; line-height: 26px; letter-spacing: 1px; margin-top: -33px; }
.contents .top_strength .lst_gallery { padding-top: 52px; display: table; width: 100%; margin: 0 -19px; width: auto; }
.contents .top_strength .lst_gallery > * { display: table-cell; vertical-align: top; }
.contents .top_strength .lst_gallery .gal_box { width: 33.333333333%; padding: 0 19px; border: none; }
.contents .top_strength .lst_gallery .gal_box div { -moz-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.19); box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.19); background: #fff; padding: 46px 31px 14px; }
.contents .top_strength .lst_gallery .gal_box div .box_ttl { font-size: 2rem; line-height: 26px; font-weight: 700; letter-spacing: 2px; padding: 30px 0 43px; }
.contents .top_strength .lst_gallery .gal_box div .gal_lst li { text-align: left; border-bottom: 1px solid #e0e0e0; padding: 11px 0 12px 28px; position: relative; font-weight: 400; line-height: 22px; font-size: 1.4rem; }
.contents .top_strength .lst_gallery .gal_box div .gal_lst li::before { content: ''; position: absolute; left: 1px; top: 16px; background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: -1045px -246px; width: 17px; height: 14px; }
.contents .top_strength .lst_gallery .gal_box div .gal_lst li:last-child { border: none; }
.contents .top_info { margin: 81px 0 90px; position: relative; }
.contents .top_info::after { content: ''; position: absolute; right: 0; bottom: -307px; background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: 0px 0px; width: 430px; height: 499px; z-index: 96; }
.contents .top_info .thumb { background: url("../images/product_bgr.jpg") no-repeat; -moz-background-size: cover; background-size: cover; right: 0; top: 0; height: 495px; position: absolute; left: 30%; left: -webkit-calc((100% - 1000px)/2 + 130px); left: -moz-calc((100% - 1000px)/2 + 130px); left: calc((100% - 1000px)/2 + 130px); z-index: 98; }
.contents .top_info .info_content { max-width: 641px; position: relative; z-index: 99; width: 100%; }
.contents .top_info .info_content .info_ttl { font-size: 6.154rem; line-height: 1; letter-spacing: 7px; font-family: "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; font-weight: 400; -webkit-writing-mode: tb-rl; -ms-writing-mode: tb-rl; writing-mode: tb-rl; padding-left: 24px; display: inline-block; vertical-align: top; min-height: 274px; }
.contents .top_info .info_content p { font-size: 1.6rem; line-height: 30px; background: rgba(255, 255, 255, 0.9); padding: 30px 23px 28px 0px; margin-top: 81px; }
.contents .top_info .info_content .btn_default { width: 318px; font-size: 2rem; line-height: 70px; height: 72px; font-family: 'Roboto', sans-serif; font-weight: 500; color: #27408c; border: 1px solid #27408c; margin-top: 5px; }
.contents .top_info .info_content .btn_default:hover { background: #27408c; border: 1px solid #27408c; }
.contents .top_info .info_content .btn_default:hover::after { color: #fff; }
.contents .top_support { position: relative; background: url("../images/support_bgr.jpg") no-repeat; -moz-background-size: cover; background-size: cover; width: 100%; z-index: 95; }
.contents .top_support .support_content { width: 100%; height: 100%; max-width: 1200px; margin: 0 auto; left: 0; right: 0; text-align: center; color: #fff; padding: 81px 0 90px; }
.contents .top_support .support_content .support_ttl { font-size: 6.926rem; font-family: "Yu Mincho", "YuMincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; font-weight: 400; letter-spacing: 3px; line-height: 1; }
.contents .top_support .support_content .support_ttl span { display: block; font-size: 1.351rem; letter-spacing: 7px; font-family: 'Heebo', sans-serif; line-height: 20px; padding-top: 10px; text-transform: uppercase; }
.contents .top_support .support_content p { font-size: 1.6rem; line-height: 26px; padding: 53px 198px 48px; text-align: left; }
.contents .top_support .support_content .btn_default { width: 318px; font-size: 2rem; line-height: 72px; letter-spacing: 0.5px; height: 72px; font-family: 'Roboto', sans-serif; text-transform: uppercase; font-weight: 500; color: #fff; border: 1px solid #fff; margin-top: 5px; }
.contents .top_support .support_content .btn_default:hover { background: #fff; border: 1px solid #fff; }
.contents .top_support .support_content .btn_default:hover::after { color: #62d5ff; }
.contents .top_link { display: table; margin: 63px auto 60px; }
.contents .top_link li .btn_default { width: 596px; border: 2px solid #27408c; font-size: 2.188rem; height: 104px; line-height: 100px; letter-spacing: 2px; text-transform: uppercase; color: #27408c; font-weight: 500; }
.contents .top_link li .btn_default::before { content: ''; display: inline-block; position: relative; top: 9px; left: -16px; background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: -1045px -191px; width: 43px; height: 35px; }
.contents .top_link li .btn_default:hover::before { background-image: url(/common/images/sprite/sprite_index.png?rev=1514453159888); overflow: hidden; text-indent: -9999px; background-position: -1108px -191px; width: 43px; height: 35px; }
.contents .top_link li .btn_default:hover:after { padding-left: 30px; }
.contents .top_link li .btn_default span { display: inline-block; padding-left: 14px; }
.header_content .logo a { position: relative; z-index: 2; }
.header_content .logo a::before { position: absolute; z-index: 1; width: 246px; height: 136px; top: -30px; left: -20px; content: ""; display: block; background: url(../common/images/shadow_logo.png) center/contain no-repeat; }
.header_content .logo a img { display: none; }
.header_content.fixed .logo a::before { display: none; }
.header_content.fixed .logo a img { display: block; }
