@charset "utf-8";

.doc-tit {font-size: 40px; line-height: 1.4; letter-spacing: -.03em; margin-bottom: 35px; text-align: center;}
.doc-tit span {display: inline-block;}
.doc-tit span:after {content:''; display: block; width: 100%; height: 3px; background: #2d2c89; margin-top: 6px;}
.doc-cnt {margin-bottom: 120px;}

.check-list > li{position:relative; padding-left:31px; margin-bottom: 0.05em;}
.check-list > li:last-child{margin-bottom:0;}
.check-list > li:before{content:""; width:21px; height:21px; position:absolute; top:4px; left:0; background: no-repeat url("../images/sub/check.png") center center / contain;}

.top-head {text-align: center; margin-bottom: 125px;}
.top-head p {font-size: 35px; font-weight: 500; line-height: 1.447em; letter-spacing: -.03em; margin-top: 1.429em;}
.top-head p strong {font-size: 1.086em;}

/* greetings */
.greetings .txt {display: flex; margin-top: 55px;}
.greetings .txt .left {flex: 1 1 auto; min-width: 0; width: 1%;}
.greetings .txt .left h3 {font-size: 45px; line-height: 1.378em; letter-spacing: -.03em;}
.greetings .txt .right {width: 52%; padding: 0 5%; color: #454545; font-size: 1.125em; line-height: 1.667; letter-spacing: -.03em;}
.greetings .txt .right strong {display: block; color: #242424; font-weight: 600; font-size: 1.667em; margin-bottom: 0.833em;}
.greetings .txt .right p {margin-bottom: 1em;}
.greetings .txt .right p.sign {color: #000; font-weight: 500; text-align: right; margin-bottom: 0; margin-top: 1.778em;}

/* history */
.history {position:relative;}
.history .group {position:relative; top:-4px; margin-bottom:55px;}
.history .group:last-child{margin-bottom:0;}
.history .group .year {font-size:34px; line-height:1.3em; letter-spacing:-.03em; text-align: center; margin-bottom:20px;}
.history .group ul {position: relative; width:50%;}
.history .group:nth-child(odd) ul {padding-left:75px; margin-left:50%;}
.history .group:nth-child(even) ul {text-align:right; padding-right:75px;}
.history .group ul:before {content:''; position: absolute; top: 5px; bottom: 5px; width: 1px; background-color: #2d2c89;}
.history .group:nth-child(odd) ul:before {left: -1px;}
.history .group:nth-child(even) ul:before {right: -1px;}
.history .group ul:after {content:''; position:absolute; top:5px; width:19px; height:19px; background:#2d2c89; border:1px solid #2d2c89; box-shadow: #fff 0px 0px 0px 5px inset; border-radius:100%;}
.history .group:nth-child(even) ul:after{right:-10px;}
.history .group:nth-child(odd) ul:after{left:-10px;}
.history .group ul li {position: relative; color:#454545; margin-bottom: 0.25em;}
.history .group ul li:last-child {margin-bottom: 0;}
.history .group ul li .month {position: absolute; top: 0; font-size: 1.063em; color: #242424; font-weight: 600;}
.history .group:nth-child(odd) ul li {padding-left: 48px;}
.history .group:nth-child(even) ul li {padding-right: 48px;}
.history .group:nth-child(odd) ul li .month {left: 0;}
.history .group:nth-child(even) ul li .month {right: 0;}

/* overview */
.overview {position: relative; margin-top: 140px;}
.overview strong {display: block; font-size: 40px; font-weight: 500; line-height: 1.3; letter-spacing: -.03em; padding: 42px 0 40px;}
.overview .txt {position: relative; width: calc(45% + 110px); color: #454545; font-size: 1.125em; line-height: 1.667em; letter-spacing: -.03em; background-color: #f8f8f8; padding: 40px 110px 88px 0;}
.overview .txt:before {content:''; position: absolute; top: 0; height: 100%; right: 100%; width: 100%; background-color: #f8f8f8;}
.overview .img {position: absolute; right: 0; left:46%; top: 0; margin-left: 60px; z-index: 1;}

/* product */
.prd-merit {text-align: center; color: #2d2c89; margin-bottom: 100px;}
.prd-merit ul {display: flex;flex-wrap:wrap;}
.prd-merit ul li {flex:1; padding: 0 15px; border-right: 1px solid #ddd;}
.prd-merit ul li:last-child {border-right: 0;}
.prd-merit ul li .num {display: block; color: #efefef; font-size: 90px; font-weight: 700; line-height: 1; letter-spacing: -.03em; margin-bottom: 20px;}
.prd-merit ul li strong {display: block; font-size: 1.563em; line-height: 1.4; letter-spacing: -.03em; margin-bottom: 12px;}
.prd-merit ul li p {}

.prd-mall {padding: 100px 0; background: no-repeat url("../images/sub/bg_prd_mall.jpg") center center / cover;}
.prd-mall h3 {float: left; max-width: 37%; width: 100%; padding-right: 20px; color: #2d2c89; font-size: 40px; line-height: 1.375em; letter-spacing: -.03em;}
.prd-mall .list {float: left; max-width: 63%; width: 100%;}
.prd-mall ul {display: flex;flex-wrap:wrap; margin: 0 -21px; text-align: center;}
.prd-mall ul li {width: 50%; padding: 0 21px;}
.prd-mall ul li a {display: block;}
.prd-mall ul li .img {position: relative; box-shadow:rgba(0,0,0,.3) 3px 3px 7px; border-radius:15px; margin-bottom: 26px; overflow:hidden;}
.prd-mall ul li a .img:after {content:''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,.4) no-repeat url("../images/sub/view.png") center center; opacity: 0; transition:.2s;}
.prd-mall ul li a:hover .img:after {opacity: 1;}
.prd-mall ul li .tit {font-size: 25px; font-weight: 600; line-height: 1.4; letter-spacing: -.03em; margin-bottom: 6px;}
.prd-mall ul li .desc {color: #454545;}

.ODM {text-align: center; background: no-repeat url("../images/sub/bg_ODM.png") 50% 95%; background-size:100% auto; padding-bottom: 150px;}
.ODM .list {}
.ODM .list ul {display: flex;flex-wrap:wrap; margin: 0 -10px -33px;}
.ODM .list ul li {width: 33.333333%; padding: 0 10px; margin-bottom: 33px;}
.ODM .list ul li .pic img {border-radius:100%; box-shadow:rgba(0,0,0,.3) 3px 3px 7px;}
.ODM .list ul li p {color: #2d2c89; font-size: 1.25em; font-weight: 500; line-height: 1.4; letter-spacing: -.03em; margin-top: 1em;}

/* businiess */
.record {}
.record .group {position: relative; margin-bottom: 120px;}
.record .group:last-child {margin-bottom: 0;}
.record .group .txt {width: 50%; padding-left: 50px;}
.record .txt .title {padding: 45px 0;}
.record .txt .title strong {display: block; font-size: 1.75em; line-height: 1.5; font-weight: 800; letter-spacing: -.03em; margin-bottom: 10px;}
.record .txt .title p {font-size: 1.375em; font-weight: 500; line-height: 1.4; letter-spacing: -.03em;}
.record .txt .capa {position: relative; font-size: 1.75em; line-height: 1.5em; letter-spacing: -.03em; background-color: #f8f8f8; padding: 70px 0 60px;}
.record .txt .capa:before,
.record .txt .capa:after {content:''; position: absolute; top: 0; height: 100%; background-color: #f8f8f8;}
.record .txt .capa .underline {position: relative;}
.record .txt .capa .underline:before {content:''; position: absolute; bottom: -.4em; left: 50%; width: 120%; margin-left: -60%; height: 100%; background: no-repeat url("../images/sub/underline.png") center bottom;}
.record .group:nth-child(odd) .txt .capa:before {right: 100%; width:calc(100% + 50px);}
.record .group:nth-child(odd) .txt .capa:after {left: 100%; width:100%;}
.record .group:nth-child(even) .txt .capa:before {left: 100%; width:100%;}
.record .group:nth-child(even) .txt .capa:after {right: 100%; width:100%;}
.record .img {position: absolute; width: 50%; z-index: 1;}
.record .group:nth-child(odd) .txt {margin-left: 50%;}
.record .group:nth-child(odd) .img {left: 0;}
.record .group:nth-child(even) .img {right: 0;}

.export {text-align: center;}
.export .content {display: flex; max-width: 1105px; margin: 50px auto 0; padding-top: 24px;}
.export .content .box {width: 50%; padding: 0 15px; font-size: 1.25em;}
.export .content .box .in {border: 1px solid #000; border-radius:20px; padding: 0 15px 28px;}
.export .content .box .tt {transform:translateY(-50%);}
.export .content .box .tt span {display: inline-block; min-width: 280px; padding: 0 20px; border-radius:50vh; background-color: #2d2c89; color: #fff; font-weight: 500; line-height: 48px; letter-spacing: -.03em;}
.export .content .box p {color: #454545; line-height: 1.75; letter-spacing: -.03px;}
.export .content .box p strong {display: block; color: #2d2c89;}

.process {text-align: center;}
.process p {color: #454545; font-size: 1.25em; font-weight: 700; line-height: 1.6; letter-spacing: -.03em; margin-bottom: 45px;}

.rnd {}
.rnd .group {display: flex; margin-bottom: 60px;}
.rnd .group:last-child {margin-bottom: 0;}
.rnd .group .img {width: 47.85%; padding-right: 30px;}
.rnd .group .cnt {flex: 1 1 auto; min-width: 0; width: 1%; padding-top: 30px; font-size: 1.125em; line-height: 1.625; letter-spacing: -.03em;}
.rnd .cnt .tt {display: block; font-size: 1.556em; line-height: 1.4; letter-spacing: -.03em;}
.rnd .cnt .txt {color: #454545; margin-top: 20px; margin-bottom: 30px;}
.rnd .cnt .feature {color: #454545; font-size: 0.889em; margin-left: -50px;}
.rnd .cnt .feature .one {position: relative; display: inline-block; width: 110px; height: 110px; margin-left: 50px; border: 1px solid #ddd; border-radius:100%; text-align: center;}
.rnd .cnt .feature .one p {position: absolute; top: 50%; left: 0; width: 100%; transform:translateY(-50%);}
.rnd .cnt .feature .one p b {display: block;}

.certify {text-align: center;}
.certify ul {display: flex;flex-wrap:wrap; margin: 0 -10px -40px;}
.certify ul li {width: 20%; padding: 0 10px; margin-bottom: 40px;}
.certify ul li p {font-size: 1.125em; font-weight: 500; line-height: 1.4; letter-spacing: -.03em; margin-top: 0.889em;}


