@font-face{ font-family: 'hiragino-kaku-gothic-pron', sans-serif; font-weight: 300; font-style: normal;}
@font-face{ font-family: 'hiragino-kaku-gothic-pron', sans-serif; font-weight: 600; font-style: normal;}
@font-face{ font-family: 'hiragino-mincho-pron', sans-serif; font-weight: 300; font-style: normal;}
@font-face{ font-family: 'hiragino-mincho-pron', sans-serif; font-weight: 600; font-style: normal;}
@font-face{ font-family: 'aktiv-grotesk', sans-serif; font-weight: 700; font-style: normal;}

a { text-decoration:none; color: #4d4d4d; }
a:hover { text-decoration:none; color: #AEAEAE; }
@media screen and (min-width: 600px){
a[href^="tel:"]{ pointer-events: none; }
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block;}
svg{ display:block; position: absolute; height: 100%; width: 100%; top:0; left:0;}
div{ box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box; }
h1, h2{ margin: 0 0; padding: 0 0; }

@keyframes blinking { 0% {opacity: 0;} 100% { opacity: 1; }}
html{ height: 100%; font-size: 100%; scroll-behavior: smooth; }
body{ margin: 0 0; padding: 0 0; width: 100%; height: 100%; background-color: rgba(255,255,255,1); font-size: 1rem; font-family: 'hiragino-kaku-gothic-pron', sans-serif; font-weight: 300; font-style: normal; text-align: left; color: rgba(51,41,38,1); box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-box-sizing: border-box;}
img{ border: 0; vertical-align: bottom; line-height: 0; width: 100%; }

.clear {clear: both; width: 100%; border: 0px; height: 1px; }
.nowrap { white-space: nowrap; }
@media screen and (min-width: 449px){
.non { display: none; }
}
.font01 { font-family: 'hiragino-kaku-gothic-pron', sans-serif; font-weight: 600; font-style: normal; font-size: clamp(1.313rem, 1.171rem + 0.56vw, 1.563rem); }
.font02 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 300; font-style: normal; font-size: clamp(0.75rem, 0.609rem + 0.56vw, 1rem); line-height: 1.8;}
.font03 { font-family: 'hiragino-mincho-pron', sans-serif; font-weight: 300; font-style: normal; font-size: clamp(2.25rem, 1.932rem + 1.27vw, 2.813rem) }
.font04 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 300; font-style: normal; font-size: clamp(1rem, 0.823rem + 0.71vw, 1.313rem); line-height: 1.8;}
.font05 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 600; font-style: normal; font-size: 1rem; }
.font06 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 300; font-style: normal; font-size: 1rem; }
.font07 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 300; font-style: normal; font-size: clamp(1rem, 0.929rem + 0.28vw, 1.125rem); line-height: 1.8;}
.font08 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 600; font-style: normal; font-size: clamp(1.625rem, 1.519rem + 0.42vw, 1.813rem); }
.font09 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 300; font-style: normal; font-size: clamp(1.25rem, 0.932rem + 1.27vw, 1.813rem); }
.font10 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 300; font-style: normal; font-size: clamp(1rem, 0.929rem + 0.28vw, 1.125rem); }
.font11 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 600; font-style: normal; font-size: clamp(1.5rem, 1.323rem + 0.71vw, 1.813rem); }
.font12 { font-family: 'aktiv-grotesk', sans-serif; font-weight: 700; font-style: normal; font-size: clamp(1.75rem, 1.503rem + 0.99vw, 2.188rem); }
.font13 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 600; font-style: normal; font-size: clamp(1.125rem, 0.737rem + 1.55vw, 1.813rem); }
.font14 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 600; font-style: normal; font-size: clamp(1rem, 0.894rem + 0.42vw, 1.188rem); line-height: 1.8; }
.font15 { font-family: "hiragino-kaku-gothic-pron", sans-serif; font-weight: 300; font-style: normal; font-size: clamp(1rem, 0.859rem + 0.56vw, 1.25rem); line-height: 2; }
.font16 { font-family: 'hiragino-mincho-pron', sans-serif; font-weight: 300; font-style: normal; font-size: clamp(1.313rem, 1.171rem + 0.56vw, 1.563rem) }

.bold { font-weight: 600; text-decoration: underline; }
.white { color: rgba(255,255,255,1)}
.blue { color: rgba(0,112,192,1)}
#text01 { margin: 0 0; padding: 1em 0;}
#text02 { margin: 0 0; padding: 1em 0;}
.left-center { padding: 0 0 1rem 0; text-align: left; }
@media screen and (max-width: 700px){
.left-center { text-align: center; }
}

#main{ margin: 0 auto; padding: 0 0; width: 100%;}
#bg{ padding: 0 0 0.5rem 0; width: 100%; height: auto;/* (画像の高さ / 画像の横幅) × 100 */  background: url('../_img/background-pc.jpg'); background-repeat: no-repeat; background-position: top center; background-size: cover;}
.logo{ margin: 0 auto; padding: 1rem 0 0 0; width: 100%; max-width: 1108px;}
.logo02{ margin: 0 auto; padding: 1rem 0 0 0; width: 309px; max-width: 1108px; text-align: center; }
.logomark{ margin: 0 a; padding: 0 0; text-align: left; max-width: 398px; }
.logomark a{ display: block; text-align: left; }
.logomark02{ margin: 0 a; padding: 0 0; text-align: center; max-width: 309px; }
.logomark02 a{ display: block; text-align: center; }
#top-flame{ margin: 2rem auto 20px auto; padding: 0 0; width: 95%; max-width: 596px; height: auto; }
.top{ margin: 0 0; padding: 0 0; height: auto;}
#top02{ margin: 0 0; padding: 0 0 1rem 0; width: 100%; height: auto; text-align: center; background: url('../_img/catch02.png'); background-size: 100%; background-repeat: no-repeat; background-position: top center; }
.line01{ margin: 0 auto; padding: 1rem 0; width: 90%; max-width: 518px; height: 7px; text-align: center; background: url('../_img/line-white.png'); background-repeat: repeat-x; background-position: center; }
.arrow{ margin: 0 auto; padding: 0 0; width: 41px; height: auto; text-align: center; animation: blinking 1s ease-in-out infinite alternate; }
#main-contents{ margin: 0 auto; padding: 2rem 0; width: 90%; max-width: 1108px;}
#main-contents02{ margin: 0 auto; padding: 2rem 0 10rem 0; width: 100%; max-width: 1108px; height: auto; background: url("../_img/background04-pc.png") no-repeat top , url("../_img/background03-pc.png") no-repeat bottom , url("../_img/background05-pc.jpg") repeat-y top ; background-size: 100%;}
#main-contents03{ margin: 0 auto; padding: 2rem 1rem; width: 100%; max-width: 1108px; height: auto; background: url("../_img/background04-pc.png") no-repeat top ; background-size: 100%;}
#main-contents04{ margin: 0 auto; padding: 0 0; width: 100%; max-width: 1108px; height: auto; background:  url("../_img/background06-pc.jpg") no-repeat top ; background-size: cover;}
#main-contents05{ margin: 0 auto; padding: 2rem 0; width: 95%; max-width: 1108px; border: 0px solid rgba(0,112,192,1);}
@media screen and (max-width: 450px){
#main-contents02{ padding: 0 0 5rem 0;}
.logomark{ margin: 0 auto; padding: 0 0; text-align: center; }
}

#contents01{ margin: 0 auto; padding: 0 0; width: 100%; border: 0px solid rgba(0,112,192,1);}
#title01{ margin: 0 auto; padding: 0 0; width: 100%; max-width: 1018px; height: 91px; background: url('../_img/drop01.png'); background-repeat: no-repeat; background-position: top center; text-align: center; display: table;}
.titletext{ margin: 0 auto; padding: 0 0; width: 100%; text-align: center; vertical-align: middle; display: table-cell;}
.titleread{ margin: 0 auto; padding: 1rem 0 1rem 0; width: 100%; text-align: center; vertical-align: middle;}
.list{ margin: 0 auto; padding: 1rem 0; width: 100%; max-width: 716px; height: auto; text-align: center; background: url('../_img/line-color.png'); background-repeat: repeat-x; background-position: top center; }
.list02{ margin: 1rem auto; padding: 1.5rem 0 1.5rem 0; width: 100%; height: auto; text-align: center; background: url("../_img/line-color.png") repeat-x top , url("../_img/line-color.png") repeat-x bottom;  }
.listbox{ margin: 0 auto; padding: 1rem 0; width: 100%; max-width: 555px; height: auto; text-align: center; position: relative; display: flex; align-items: flex-end; }
.listbox01{ margin: 0 auto; padding: 1rem 0; width: 50%; max-width: 377px; height: auto; }
.listbox02{ margin: 0 auto; padding: 1rem 1rem; width: 50%; max-width: 377px; height: auto; text-align: left; }
@media screen and (max-width: 450px){
.listbox{ display: block!important; }
.listbox01{ width: 80%; max-width: 400px;}
.listbox02{ width: 100%; text-align: center; }
}
.btn a {
position: relative;
display: block;
margin: 1.6rem 0 0 0;
border: solid rgba(51,41,38,1); border-width: 1px 1px 1px 1px;
width: 100%;
padding: 0.5rem 0;
background-color: rgba(255,255,255,0.7);
text-decoration: none;
text-align: center;
}
.btn a:hover {
background-color: rgba(51,41,38,0.5);
color: rgba(255,255,255,1);
}
.btn02 a {
position: relative;
display: block;
margin: 0 auto;
border: solid rgba(51,41,38,1); border-width: 1px;
width: 280px;
padding: 0.5rem 0;
background-color: rgba(253,141,62,1);
color: rgba(255,255,255,1);
text-decoration: none;
text-align: center;
}
.btn02 a:hover {
background-color: rgba(253,141,62,0.7);
color: rgba(255,255,255,1);
}
.btn03 a {
position: relative;
display: block;
margin: 0 auto;
border: solid rgba(51,41,38,1); border-width: 1px;
width: 280px;
padding: 1.5rem 0;
background-color: rgba(253,141,62,1);
color: rgba(255,255,255,1);
text-decoration: none;
text-align: center;
}
.btn03 a:hover {
background-color: rgba(253,141,62,0.7);
color: rgba(255,255,255,1);
}
/* アイコンのスタイル */
.btn-arrow-right a::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 15px;
width: 15px;
height: 15px;
margin: auto;
border-top: 2px solid rgba(0,112,192,1);
border-right: 2px solid rgba(0,112,192,1);
transform: rotate(45deg);
box-sizing: border-box;
}
.btn-arrow-white a::after {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 15px;
width: 15px;
height: 15px;
margin: auto;
border-top: 2px solid rgba(255,255,255,1);
border-right: 2px solid rgba(255,255,255,1);
transform: rotate(45deg);
box-sizing: border-box;
}
@media screen and (max-width: 700px){
.btn02 a {
width: 100%;
}
.btn03 a {
width: 100%;
}
}
#number01{ margin: 8rem auto 0rem auto; padding: 0 1rem; width: 100%; max-width: 890px; height: auto; text-align: left;}
#number02{ margin: 4rem auto 0rem auto; padding: 0 1rem; width: 100%; max-width: 890px; height: auto; text-align: left;}
#detailed-box01{ margin: 0 auto; padding: 4rem; width: 100%; max-width: 890px; height: auto; background: url('../_img/member01_bg.png'); background-size: 100%; background-repeat: no-repeat; background-position: top center; border-radius: 10px; text-align: justify; }
#detailed-box02{ margin: 0 auto; padding: 4rem; width: 100%; max-width: 890px; height: auto; background: url('../_img/member02_bg.png'); background-size: 100%; background-repeat: no-repeat; background-position: top center; border-radius: 10px; text-align: justify; }
#detailed-box03{ margin: 0 auto; padding: 4rem; width: 100%; max-width: 890px; height: auto; background: url('../_img/member03_bg.png'); background-size: 100%; background-repeat: no-repeat; background-position: top center; border-radius: 10px; text-align: justify; }
#detailed-box04{ margin: 2rem auto 3rem auto; padding: 4rem; width: 100%; max-width: 890px; height: auto; background-color: rgba(255,255,255,0.8); border-radius: 10px; text-align: center; }
#detailed-blanc{ width: 100%; height: auto; padding-top: 21%; }
#detailed-blanc02{ width: 100%; height: auto; padding-top: 12%; }
#detailed-catch{ margin: 0 0; padding: 0 0; width: 100%; height: auto; text-align: left;}
#detailed-catch02{ margin: 0 0; padding: 2rem 0 0 0; width: 100%; height: auto; text-align: left;}
@media screen and (max-width: 700px){
#number01{ margin: 4rem auto 0rem auto; }
#number02{ margin: 3rem auto 0rem auto; }
#detailed-box01{ padding: 1.2rem; max-width: 824px; background: url('../_img/member01_bg_s.png'); background-size: 100%; background-repeat: no-repeat; background-position: top center; }
#detailed-box02{ padding: 1.2rem; max-width: 824px; background: url('../_img/member02_bg_s.png'); background-size: 100%; background-repeat: no-repeat; background-position: top center; }
#detailed-box03{ padding: 1.2rem; max-width: 824px; background: url('../_img/member03_bg_s.png'); background-size: 100%; background-repeat: no-repeat; background-position: top center; }
#detailed-box04{ padding: 1.2rem; max-width: 824px; }
#detailed-blanc{ padding-top: 125%; }
#detailed-catch{ text-align: center;}
}
.job-title01{ margin: -4.5rem auto 0 auto; padding: 1rem; width: 95%; max-width: 590px; height: auto; text-align: center; background-color: rgba(0,176,240,1) ; border-radius: 35px; }
.job-title02{ margin: -4.5rem auto 0 auto; padding: 1rem; width: 95%; max-width: 590px; height: auto; text-align: center; background-color: rgba(0,112,192,1) ; border-radius: 35px; }
#job-data02{ margin: 6rem auto 0 auto; padding: 2rem; width: 100%; max-width: 700px; height: auto; text-align: left; background-color: rgba(0,176,240,0.5) ; border: 1px solid rgba(0,176,240,1); }
#job-data03{ margin: 5rem auto 0 auto; padding: 2rem; width: 100%; max-width: 700px; height: auto; text-align: left; background-color: rgba(255,255,255,1) ; border: 1px solid rgba(0,112,192,1); }
#job-data04{ margin: 2.5rem auto 0 auto; padding: 0.8rem 2rem; width: 100%; height: auto; text-align: left; background-color: rgba(0,176,240,0.1) ; border: 0px solid rgba(0,112,192,1); }
.job-text{ margin: 0 auto; padding: 2rem 0 0 0; width: 100%; height: auto; text-align: left; }
.job-text02{ margin: 0 auto; padding: 2rem 0 0 0; width: 100%; height: auto; text-align: center; }
.job-text03{ margin: 0 auto; padding: 0 0; width: 100%; height: auto; text-align: center; }
@media screen and (max-width: 600px){
.job-title01{ margin: -4rem 0 0 0; padding: 1rem; width: 100%; max-width: 620px;  border-radius: 30px; }
.job-title02{ margin: -4rem 0 0 0; padding: 1rem; width: 100%; max-width: 620px;  border-radius: 30px; }
#job-data02{ margin: 3rem auto 0 auto;}
#job-data03{ margin: 3rem auto 0 auto;}
}
@media screen and (max-width: 700px){
.job-text{ padding: 1rem 0 0 0; }
.job-text02{ padding: 1rem 0 0 0; }
}
.up {
position: fixed;
z-index: 90;
bottom: -100px;
right: 3%;
border-radius: 50%;
cursor: pointer;
}
.up span {
position: relative;
height: 50px;
width: 50px;
display: block;
border-radius: 50%;
box-shadow: 0 6px 17px -7px rgba(122, 132, 135, .1);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
background: rgba(51,41,38,.2);
-webkit-transition: 0.7s cubic-bezier(0.33, 1, 0.68, 1);
transition: 0.7s cubic-bezier(0.33, 1, 0.68, 1);
}
@supports not (backdrop-filter: blur(30px)) {
.up span {background: rgba(255,255,255,.8);
}
}
@media all and (-ms-high-contrast: none) {
.up span {background: rgba(255,255,255,.8);
}
}
.up span:before, .up span:after {
content: "";
position: absolute;
top: 49%;
width: 32%;
height: 3px;
background: rgba(255,255,255,.5);
display: block;
border-radius: 12px;
}
.up span:before {
left: 24%;
-webkit-transform: translateY(-50%) rotate(-45deg);
transform: translateY(-50%) rotate(-45deg);
}
.up span:after {
right: 24%;
-webkit-transform: translateY(-50%) rotate(45deg);
transform: translateY(-50%) rotate(45deg);
}
.up span:hover {
-webkit-transform: translateY(-5%);
transform: translateY(-5%);
box-shadow: 0 10px 20px -6px rgba(122, 132, 135, .3);
opacity: .95;
}

/* レイアウトや見た目のスタイル */
/* ---------------------------- */
.single-item + .single-item{
    margin-top: 80px;
}
/* アニメーションスタイル */
/* ---------------------------- */
/* アニメーション前 */
.u-fade-type-up{
    transform: translateY(50px);
    opacity: 0;
}
/* トリガー発火でis-activeを付与 */
.u-fade-type-up.is-active{
    transition: .6s;
    transform: translateY(0);
    opacity: 1;
}













