@charset "UTF-8";
/* CSS Document */

/*========================================
上書き
========================================*/
@media screen and (max-width: 750px) {
.menuBtn {
animation:menuBtn .4s ease-out 0s both;
}
}

/*========================================
lowerNav css
========================================*/
.gNavi {
position:absolute;
top: 8%;
right: 8.5%;
z-index:9900;
}
.gNavi li {
font-size: 1.1vw;
line-height: 1.4em;
font-family: 'Cabin', sans-serif;
text-align: right;
margin-bottom: 0.3em;
}
.gNavi li:nth-child(1) {
margin-bottom: 0.8em;
}
.gNavi li img {
width: 3.8vw;
}
.gNavi li a {
color: #FFF;
text-decoration: none;
}
.gNavi li a:hover {
text-decoration: underline;
}

/*========================================
camHeader css
========================================*/
.camHeader {
width: 100%;
position: relative;
overflow: hidden;
}
.camHeader .ttl {
height: 100%;
margin: 0 auto;
z-index: 1;
pointer-events: none;
}
.camHeader .ttl li {
height: auto;
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-end;
}
.camHeader .ttl li img {
margin: 0;
animation:ttl 1s ease-out both;
}
@keyframes ttl {
from {transform: translate3d(-50%, 100%, 0) rotate(45deg) scale(0.8,0.8);transform-origin:left top; opacity:0;}
to {transform: translate3d(0, 0%, 0) rotate(0deg) scale(1,1);transform-origin:left top; opacity:1;}
}
/*rightBar*/
.camHeader .rightBar {
height: 100%;
background-color:#1a1a1a;
animation:rightBar .3s ease-out 1s both;
position: absolute;
top: 0;
right: 0;
display: flex;
justify-content: center;
}
.camHeader .rightBar h2 {
padding: 2em 1.4em 0;
writing-mode: vertical-rl;
font-size: 1.6vw;
line-height: 1.2em;
letter-spacing: 0.5em;
white-space: nowrap;
color: #FFF;
}
@keyframes rightBar {
from {opacity: 0; transform: translate3d(100%, 0, 0);}
to {opacity: 1; transform: translate3d(0, 0%, 0);}
}
/*sp*/
@media screen and (max-width: 750px) {
.camHeader .ttl li img {
margin-top: 5%;
animation:ttl 1s ease-out both;
}
.camHeader .rightBar {
width:34px;
animation: none;
}
.camHeader .rightBar h2 {
display: none;
}
}

/*========================================
tabLink css
========================================*/
.tabLink {
width: 88%;
max-width: 900px;
margin: 40px auto 60px;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.tabLink li {
width: calc(100% / 5 - 23px);
margin: 0 10px;
font-size: 12px;
line-height: 1.2em;
text-align: center;
border-width: 1px;
border-style: solid;
}
.tabLink li:hover {
}
.tabLink li,
.tabLink li::before,
.tabLink li::after { 
-webkit-transition: all .4s;
transition: all .4s;
}
.tabLink li a {
display: block;
text-decoration: none;
width: 100%;
height: 100%;
padding: 0.6em 0;
}
/*sp*/
@media screen and (max-width: 750px) {
.tabLink {
width: calc(88% + 10px);
max-width: 900px;
margin: 6% auto 2%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
}
.tabLink::after{
width: calc(100% / 3 - 12px);
margin: 0 5px 10%;
content:"";
display: block;
}
.tabLink li {
width: calc(100% / 3 - 12px);
margin: 0 5px 10px;
font-size: 11px;
line-height: 1.2em;
text-align: center;
border-width: 1px;
border-style: solid;
}
}

/*========================================
comTtl css
========================================*/
.comTtl {
display: flex;
align-items: baseline;
justify-content: center;
padding: 0 0 50px;
}
.comTtl .en {
font-family: 'Cabin', sans-serif;
font-size: 55px;
line-height: 1.4em;
white-space: nowrap;
font-weight: 500;
}
.comTtl .ttl {
display:inline;
min-width: 50px;
text-align: center;
font-size: 13px;
line-height: 1.4em;
font-weight: 500;
color: #FFF;
background-color: #000;
padding: 1px 1em;
margin-left: 15px;
}
/*sp*/
@media screen and (max-width: 750px) {
  .comTtl {
  padding: 4% 0 8%;
  }
  .comTtl .en {
  font-family: 'Cabin', sans-serif;
  font-size: 40px;
  line-height: 1.4em;
  font-weight: 500;
  }
  .comTtl.long {
  width: 100%;
  display: inline-block;
  margin: 0 auto;
  text-align: center;
  }
  .comTtl.long .en {
  font-family: 'Cabin', sans-serif;
  font-size: 40px;
  line-height: 1em;
  font-weight: 500;
  }
  .comTtl.long .ttl {
  display: inline-block;
  margin-left: 0;
  margin-top: 2%;
  }
}

/*========================================
campany
========================================*/
.campany {
width: 88%;
max-width: 900px;
margin: 0 auto 80px;
}
.campany table {
width: 100%;
}
.campany th {
width: 200px;
border-top: 1px solid;
font-size: 14px;
line-height: 1.5em;
vertical-align: middle;
}
.campany tr:last-child th {
border-bottom: 1px solid;
}
.campany td {
border-top: #eaeaea 1px solid;
font-size: 14px;
line-height: 1.5em;
padding: 20px 30px;
}
.campany tr:last-child td {
border-bottom: #eaeaea 1px solid;
}
.campany td p {
margin-bottom: 1.5em;
}
/*SP　campany*/
@media screen and (max-width: 750px) {
.campany {
width: 88%;
margin: 0 auto 8%;
text-align: left;
}
.campany th {
display: block;
width: 100%;
border-top: none;
border-bottom: 1px solid;
}
.campany td {
display: block;
width: 100%;
padding: 3% 0 10%;
border-top: none;
}
.campany tr:last-child td {
border-bottom: none;
}
.campany td p {
margin-bottom: 2em;
}
}

/*========================================
histry css
========================================*/
.histryList {
width: 100%;
max-width: 700px;
position: relative;
margin: 0 auto 100px;
}
.histryList::before {
content: "";
width: 1px;
height: 100%;
background-color: #CCCCCC;
position: absolute;
top: 11px;
left: 70px;
}
.histryListItem {
width: 100%;
display: flex;
align-items: flex-start;
position: relative;
}
.hstrYear {
width: 70px;
min-width: 70px;
font-size: 18px;
line-height: 1em;
position: relative;
}
.hstrYear::before {
content: "";
display: block;
width: 7px;
height: 7px;
background-color: #CCCCCC;
border-radius: 50%;
position: absolute;
right: -4px;
top: 50%;
}
.hstrTxt {
padding-left: 30px;
padding-bottom: 100px;
}
.hstrTxt p {
font-size: 16px;
line-height: 1.4em;
}
.histryListItem figure {
width: 120px;
min-width: 120px;
height: 120px;
margin: -45px 0 0 20px;
}
/*SP　histry*/
@media screen and (max-width: 750px) {
.histryList {
width: 88%;
margin: 0 auto 8%;
position: relative;
}
.hstrTxt p {
font-size: 15px;
line-height: 1.4em;
}
.histryListItem figure {
width: 25%;
min-width: 25%;
height: auto;
margin: -8% 0 0 5%;
}
}

/*========================================
txtPage css
========================================*/
.txtPage {
max-width: 900px;
margin: 0 auto 80px;
}
.txtPage  h3 {
font-size: 30px;
line-height: 1.3em;
font-weight: 700;
text-align: center;
margin-bottom: 1.2em;
}
.txtPage dt {
font-size: 22px;
line-height: 1.3em;
font-weight: 700;
border-bottom: #eaeaea 1px solid;
margin-bottom: 1.2em;
padding: 0.2em;
}
.txtPage dd {
margin-bottom: 8%;
}
.txtPage dd p {
font-size: 14px;
line-height: 1.5em;
margin-bottom: 1.5em;
}
.txtPage dd li {
font-size: 14px;
line-height: 1.5em;
margin-bottom: 1.5em;
text-indent: -1em;
padding-left: 1em;
}
.txtPage dd .box {
display: inline-block;
border: #eaeaea 1px solid;
padding:1em 2em;
margin: 1.5em 0;
}

/*SP　compliance*/
@media screen and (max-width: 750px) {
.txtPage {
width: 88%;
margin: 0 auto 8%;
text-align: left;
}
.txtPage  h3 {
font-size: 26px;
line-height: 1.3em;
font-weight: 700;
text-align: center;
margin-bottom: 1em;
}
.txtPage dd {
margin-bottom: 12%;
}
}

/*========================================
message css
========================================*/
.message {
width: 88%;
max-width: 800px;
margin: 20px auto 100px;
}
.message h3 {
font-size: 28px;
line-height: 1.6em;
font-weight: bold;
margin-bottom: 1.2em;

border-bottom: #eaeaea 1px solid;
margin-bottom: 1.2em;
padding-bottom: 1em;

font-family: 'Noto Serif JP', serif;
font-feature-settings: "palt";
font-weight: 600;
letter-spacing: -1px;
}
.message p {
font-size: 20px;
line-height: 2.5em;
margin-bottom: 2em;
font-family: 'Noto Serif JP', serif;
font-feature-settings: "palt";
font-weight: 500;
}
.message p.right {
text-align: right;
line-height: 1.6em;
}
.message p .name {
font-size: 26px;
line-height: 1.6em;
font-weight: 500;
padding-left: 0.5em;
}
/*SP　message*/
@media screen and (max-width: 750px) {
.message {
width: 88%;
margin: 2% auto 10%;
text-align: left;
}
.message h3 {
font-size: 26px;
}
.message p {
font-size: 18px;
line-height: 1.8em;
}
.message p .name {
font-size: 22px;
}
}

/*========================================
corpLogo css
========================================*/
.corpLogo {
width: 88%;
max-width: 800px;
margin: 20px auto 150px;
}
.corpLogo a {
color: #333;
display: inline;
}
.corpLogo h3 {
font-size: 30px;
line-height: 1.3em;
font-weight: 700;
text-align: center;
margin-bottom: 1em;
}
.corpLogo h4 {
font-size: 38px;
line-height: 1.4em;
font-weight: bold;
text-align: center;
margin-bottom: 0.8em;
}
.corpLogo p {
font-size: 16px;
line-height: 1.8em;
}
.corpLogo .read {
max-width: 800px;
margin:0 auto 10%;
padding-bottom: 8%;
border-bottom: #c6c6c6 1px solid;
}
.corpLogo .detaCont {
margin-bottom: 8%;
padding-bottom: 8%;
border-bottom: #c6c6c6 1px solid;
}
.corpLogo .detaCont.co01 p {
width: 600px;
margin: 0 auto 8%;
}
.corpLogo .detaCont.co01 figure {
width: 60%;
margin: 0 auto 6%;
}
.corpLogo .detaCont.co01 ul {
display: flex;
justify-content: space-between;
vertical-align: top;
}
.corpLogo .detaCont.co01 li {
width: 30%;
}
.corpLogo .detaCont.co01 li figure {
width: 90px;
margin: 0 auto 5%;
}
.corpLogo .detaCont.co01 li dl {
width: 100%;
}
.corpLogo .detaCont.co01 li dt {
font-size: 16px;
line-height: 1.4em;
font-weight: bold;
text-align: center;
margin-bottom: 0.6em;
}
.corpLogo .detaCont.co01 li dd {
font-size: 14px;
line-height: 1.6em;
}
.corpLogo .flex {
display: flex;
justify-content:space-between;
align-items: center;
}
.corpLogo .detaCont.co02 p {
width: calc(40% - 50px);
}
.corpLogo .detaCont.co02 figure {
width: 60%;
}
/*borderOfr*/
.borderOfr {
width: 100%;
max-width: 780px;
}
.corpLogo h5 {
font-size: 16px;
line-height: 1.4em;
font-weight: bold;
text-align: center;
margin-bottom: 1.2em;
}
.corpLogo .dlBtn {
width: 320px;
margin: 0 auto 10%;
}
.corpLogo .dlBtn p {
font-size: 12px;
text-align: center;
padding-top: 0.2em;
}
.corpLogo .dlBtn:hover {
opacity: 0.7;
}
.corpLogo .dlBtn,
.corpLogo .dlBtn::before,
.corpLogo .dlBtn::after { 
-webkit-transition: all .4s;
transition: all .4s;
}
/*ofrBtn*/
.ofrBtn {
width: 320px;
margin: 0 auto;
position: relative;
}
.ofrBtn a {
width: 100%;
display: block;
border: none;
color: #FFF;
text-decoration: none;
font-size: 14px;
line-height: 1.4em;
text-align: center;
font-weight: bold;
padding: 1.2em 0;
}
.ofrBtn .moreArw {
width: calc(100% - 15px);
text-align: right;
position: absolute;
right: 18px;
top: 18px;
pointer-events: none;
}
.ofrBtn .moreArw span {
display: inline-block;
width: 40px;
height: 8px;
border-bottom: 1px solid #FFFFFF;
border-right: 1px solid #FFFFFF;
transform: skew(45deg);
}
.ofrBtn:hover .moreArw {
position: absolute;
right: 10px;
top: 18px;
}
.ofrBtn .moreArw,
.ofrBtn .moreArw::before,
.ofrBtn .moreArw::after { 
-webkit-transition: all .4s;
transition: all .4s;
}

/*SP　corpLogo*/
@media screen and (max-width: 750px) {
.corpLogo {
width: 88%;
max-width: 900px;
margin: 2% auto 12%;
}
.corpLogo a {
color: #333;
display: inline;
}
.corpLogo h3 {
font-size: 22px;
line-height: 1.3em;
font-weight: 700;
text-align: center;
margin-bottom: 1em;
}
.corpLogo h4 {
font-size: 30px;
line-height: 1.4em;
font-weight: bold;
text-align: center;
margin-bottom: 0.6em;
}
.corpLogo p {
font-size: 16px;
line-height: 1.8em;
}
.corpLogo .read {
max-width: 100%;
margin:0 auto 12%;
padding-bottom: 12%;
border-bottom: #c6c6c6 1px solid;
}
.corpLogo .detaCont {
margin-bottom: 12%;
padding-bottom: 12%;
border-bottom: #c6c6c6 1px solid;
}
.corpLogo .detaCont.co01 p {
width: 100%;
margin: 0 auto 12%;
}
.corpLogo .detaCont.co01 figure {
width: 88%;
margin: 0 auto 12%;
}
.corpLogo .detaCont.co01 ul {
display: block;
}
.corpLogo .detaCont.co01 li {
width: 100%;
display: flex;
justify-content: space-between;
vertical-align: top;
margin-bottom: 8%;
}
.corpLogo .detaCont.co01 li:last-child {
margin-bottom: 0;
}
.corpLogo .detaCont.co01 li figure {
width: 25%;
margin: 0 auto;
padding: 0;
}
.corpLogo .detaCont.co01 li dl {
width: 70%;
}
.corpLogo .detaCont.co01 li dt {
font-size: 16px;
line-height: 1.4em;
font-weight: bold;
text-align: left;
margin-bottom: 0.4em;
}
.corpLogo .detaCont.co01 li dd {
font-size: 14px;
line-height: 1.5em;
}
.corpLogo .flex {
display: block;
}
.corpLogo .detaCont.co02 p {
width: 88%;
margin: 0 auto 12%;
}
.corpLogo .detaCont.co02 figure {
width: 88%;
margin: 0 auto;
}
.borderOfr {
width: 100%;
max-width: 100%;
}
.corpLogo h5 {
font-size: 16px;
line-height: 1.4em;
font-weight: bold;
text-align: center;
margin-bottom: 1.2em;
}
.corpLogo .dlBtn {
width: 80%;
margin: 0 auto 10%;
}
.corpLogo .dlBtn:hover {
opacity: 0.7;
}
.corpLogo .dlBtn,
.corpLogo .dlBtn::before,
.corpLogo .dlBtn::after { 
-webkit-transition: all .4s;
transition: all .4s;
}
/*ofrBtn*/
.ofrBtn {
width: 80%;
margin: 0 auto;
position: relative;
}
.ofrBtn a {
width: 100%;
display: block;
border: none;
color: #FFF;
text-decoration: none;
font-size: 14px;
line-height: 1.4em;
text-align: center;
font-weight: bold;
padding: 1.2em 0;
}
.ofrBtn .moreArw {
width: calc(100% - 15px);
text-align: right;
position: absolute;
right: 18px;
top: 18px;
pointer-events: none;
}
.ofrBtn .moreArw span {
display: inline-block;
width: 40px;
height: 8px;
border-bottom: 1px solid #FFFFFF;
border-right: 1px solid #FFFFFF;
transform: skew(45deg);
}
}







