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

/*---------------------------------
RESET CSS
---------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0;padding: 0;border: 0;}

ol, ul {list-style: none;}

table {
border-collapse: collapse;
border-spacing: 0;
}

a {
text-decoration: none;
color: #000;
transition: 0.5s;
word-break: break-all;
}

a:hover {
opacity: 0.7;
transition: 0.2s;
}

img,iframe {
max-width: 100%;
vertical-align: bottom;
}

body {font-family: "fot-tsukubrdgothic-std", sans-serif;font-weight: 400;font-style: normal;background: #f7f7f7;}
html {
scroll-behavior: smooth;
}

/*---------------------------------
Common　【PC】
---------------------------------*/
/*font*/
.jost {
font-family: "Jost", sans-serif;
font-optical-sizing: auto;
font-style: normal;
}

.oswald {
font-family: "Oswald", sans-serif;
font-optical-sizing: auto;
font-style: normal;
}

/*font-weight*/
.normal{font-weight: 400;}
.medium{font-weight:500;}
.bold{font-weight:700;}

/*font-size*/
.f14{font-size:14px;}
.f16{font-size:16px;}
.f20{font-size:20px;}
.f22{font-size:22px;}
.f25{font-size:25px;}
.f30{font-size:30px;}
.f35{font-size:35px;}
.f46{font-size:46px;}

/*margin*/
.mb10 {margin-bottom: 10px;}
.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}
.mb40 {margin-bottom: 40px;}
.mb50 {margin-bottom: 50px;}
.mb60 {margin-bottom: 60px;}
.mb70 {margin-bottom: 70px;}
.mb80 {margin-bottom: 80px;}
.mb90 {margin-bottom: 90px;}
.mb100 {margin-bottom: 100px;}
.m_a {margin: auto;}
.m_r {margin: right;}
.m_l {margin: left;}

/*padding*/
.pb10 {padding-bottom: 10px;}
.pb20 {padding-bottom: 20px;}
.pb30 {padding-bottom: 30px;}
.pb40 {padding-bottom: 40px;}
.pb50 {padding-bottom: 50px;}
.pb60 {padding-bottom: 60px;}
.pb70 {padding-bottom: 70px;}
.pb80 {padding-bottom: 80px;}
.pb90 {padding-bottom: 90px;}
.pb100 {padding-bottom: 100px;}

/*text-align*/
.ta_c {text-align: center;}
.ta_r {text-align: right;}
.ta_l {text-align: left;}

/*br*/
.sp_only_br {display: none;}
.pc_only_br {display: inline;}

/*display*/
.sp_block {display: none;}
.pc_block {display: block;}

/*block*/
.sp_only_block{display:none;}
@keyframes fadeOut {
0% {
display: block;
opacity: 1;
}
1% {
display: block;
opacity: 1;
}
100% {
display: none;
opacity: 0;
}

}
/*---------------------------------
TOP PAGE【PC】
---------------------------------*/
.top_logo a {display: block;text-indent: 100%;white-space:nowrap;overflow:hidden;width: 96px;height: 104px;background: url(/wp-content/themes/pif/img/logo.webp)no-repeat center;}

.header_nav_inner {flex-wrap: wrap;justify-content: right;display: flex;padding: 36px 0;transition: all .5s;}

.header_nav_inner li {
padding-left: 50px;
}
#navarea_wrap {transition: all .5s;}
.main_header {max-width: 1400px;margin: auto;display: flex;flex-wrap: wrap;justify-content: space-between;padding-top: 30px;padding: 30px 20px 0;box-sizing: border-box;}

.main_image_catch {font-size: 150px;width: fit-content;margin: auto;padding: 130px 20px;box-sizing: border-box;line-height: 1.2;font-weight: 600;}

.contents_inner {overflow: hidden;position: relative;margin-bottom: 200px;box-sizing: border-box;}

.contents_left {
width: 447px;
padding-left: 110px;
box-sizing: border-box;
border-right: 1px solid #000;
font-weight: 500;
position: absolute;
top: 0;
bottom: 0;
margin: auto;
height: fit-content;
}

.contents_right {width: calc(100% - 607px);float: right;}

.contents_wrapper {max-width: 1280px;margin: auto;padding: 40px 20px 0 20px;box-sizing: border-box;}

.contents_ttl_nam:before {content: "";font-size: 130px;font-family: "Oswald", sans-serif;font-optical-sizing: auto;font-style: normal;font-weight: 300;position: absolute;width: fit-content;height: fit-content;left: 0;top: -15px;line-height: 1;display: block;}

.contents_ttl_nam.no1:before {content: "01";}
.contents_ttl_nam.no2:before {content: "02";}
.contents_ttl_nam.no3:before {content: "03";}
.contents_ttl_nam.no4:before {content: "04";}
.contents_ttl_nam.no5:before {content: "05";}


.contents_ttl_nam {position: relative;padding-left: 150px;padding-bottom: 80px;margin-bottom: 70px;}

.contents_border {
border-bottom: 1px solid #000;
}
.simple_list_wrapper {list-style-type: "・";padding: 0 50px 0 70px;box-sizing: border-box;}

.coming_soon_wrapper {
max-width: 900px;
height: 430px;
text-align: center;
line-height: 430px;
background: #d4d4d4;
font-size: 30px;
color: #a3a3a3;
margin: auto;
}

.contact_form li {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin-bottom: 13px;
}

.more_button {
display: inline-block;
border: none;
background: #000000;
color: #fff;
min-width: 180px;
padding: 15px;
box-sizing: border-box;
font-size: 20px;
}

input {border: 1px solid #9e9e9e;background: none;padding: 15px 10px;display: block;width: 100%;box-sizing: border-box;}


.more_button:hover {
opacity: 0.7;
cursor:pointer;
}
.form_about textarea.input {
min-height: 270px;
border: 1px solid #9e9e9e;
background: none;
padding: 15px 10px;
display: block;
width: 100%;
box-sizing: border-box;
}
.button-flex{
    display: flex;
    justify-content: space-evenly;
    margin-top: 20px;
}
.button-flex .button-w{
    width: 160px;
}
.main_footer {
background: #474747;
color: #fff;
padding: 80px 20px;
box-sizing: border-box;
}

.main_footer a {
color: #fff;
}

.main_footer p {
line-height: 1;
}

.form_left {
width: 200px;
}

.form_right {
width: calc(100% - 200px);
}
.confirm_txt {
background: #efefef;
padding: 30px 20px;
box-sizing: border-box;
}
.mw_wp_form .error {
font-size: 14px!important;
}

.client_link_ul li {
    width: calc(100% / 4);
    padding: 0 8px 16px;
    box-sizing: border-box;
}

.client_link_ul {flex-wrap: wrap;display: flex;justify-content:left;margin-bottom: 20px;width: 100%;}

.client_link_ul a {display: block;border: 1px solid #4a4a4a;text-align: center;padding: 30px 5px;box-sizing: border-box;height: 100%;line-height: 1;}

.client_link_ttl:after {
    content: "";
    display: block;
    height: 2px;
    width: 40px;
    background: #4a4a4a;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}

.client_link_ttl {
    position: relative;
    width: fit-content;
    padding-right: 60px;
}

.events_wrapper li {
    background: #fff;
    width: calc(50% - 15px);
    padding: 20px 30px;
    box-sizing: border-box;
    margin-bottom: 30px;
}

.events_wrapper {
    flex-wrap: wrap;
    justify-content: space-between;
    display: flex;
}

.events_wrapper .f16 {
    line-height: 1.5;
}


@media screen and (max-width:1280px){
/*---------------------------------
TOP PAGE【PC 2】
---------------------------------*/
.main_image_catch {
font-size: 11vw;
}

.contents_wrapper {max-width: calc(100% - 40px);margin: auto;margin-top: -100px;padding-top: 140px;}
.contents_left {width: 40%;padding-left: 7%;}

.contents_right {
width: calc(100% - 40% - 5%);
}
.client_link_ul li {
    width: calc(100% / 3);
}
}

@media screen and (max-width: 920px){
/*---------------------------------
Common　【PC】
---------------------------------*/
/*block*/
.sp_only_block{display:block;}

/*menu*/
.menu_toggle_btn {display: block;position: fixed;margin-left: auto;right: 20px;top: 55px;width: 30px;height: 20px;transition: all .5s;cursor: pointer;z-index: 9999;}
.open .list_01 {position: fixed;z-index: 9999;right: 0;}
.menu_toggle_btn span {display: block;position: absolute;width: 30px;height: 2px;background-color: #000;transition: all .5s;left: 0;right: 0;top: 0;bottom: 0;margin: auto;}
.menu_toggle_btn span:nth-child(1) {top: -19px;bottom: 0;right: 0;left: 0;margin: auto;}
.menu_toggle_btn span:nth-child(2) {top: 0px;}
.menu_toggle_btn span:nth-child(3) {bottom: 0;top: 17px;left: 0;right: 0;margin: auto;}
.open .menu_toggle_btn span:nth-child(1) {-webkit-transform: translateY(-10px) rotate(315deg);transform: translateY(-15px) rotate(320deg);top: 24px;width: 30px;left: -2px;}
.open .menu_toggle_btn span:nth-child(2) {opacity: 0;}
.open .menu_toggle_btn span:nth-child(3) {-webkit-transform: translateY(10px) rotate(-315deg);transform: translateY(7px) rotate(-320deg);top: -16px;left: -2px;width: 30px;}
.open  #menu_mask {display: block;position: fixed;top: 0;right: 0;width: 100%;height: 100%;opacity: 1;z-index: 9997;cursor: pointer;transition: all .5s;background: rgba(247,247,247,1);backdrop-filter: blur(10px);}
.open  .globalHeader_warp {
position: fixed;
z-index: 9999;
display: block;
width: fit-content;
left: 0;
right: 0;
bottom: 0;
top: 0;
margin: auto;
height: fit-content;
}


.open  ul.globalHeader_menu {
display: block;
}

.open  .globalHeader_menu_box {
display: block;
}


.open .globalHeader_logo {margin-bottom: 10px;}

.open .inner_menu {
display: flex;
flex-wrap: wrap;
justify-content: center;
margin-bottom: 30px;
}

.open .inner_menu a {
color: #fff;
font-weight: bold;
font-size: 16px;
background: #da536e;
padding: 5px 10px;
border-radius: 5px;
display: block;
}

.open .inner_menu li {
padding: 0 5px;
}


.open .header_nav_inner,.open #menu_mask {
transition-delay: 0.1s;
opacity: 1;
visibility: visible;
}

.header_nav_inner,#menu_mask{transition: opacity 0.5s, visibility 0s ease 1s;opacity: 0;visibility: hidden;}
#menu_mask {
display: block;
position: fixed;
top: 0;
right: 0;
width: 100%;
height: 100%;
opacity: 1;
z-index: 9997;
cursor: pointer;
transition: all .5s;
}
/*---------------------------------
TOP PAGE【920】
---------------------------------*/
.top_logo {width: 56px;height: 64px;background-size: contain;position: fixed;z-index: 9995;}

.header_nav_inner {padding: 16px 0;}

.header_nav_inner {display: block;z-index: 9999;left: 0;right: 0;bottom: 0;top: 0;margin: auto;position: fixed;width: fit-content;height: fit-content;}

.header_nav_inner li {
padding: 0 0 4vw 0;
text-align: center;
}

.header_nav_inner {font-size: 4vw;}

.f46 {
font-size: 36px;
}

.f20 {
font-size: 18px;
}

.f30 {
font-size: 25px;
}

.contents_ttl_nam:before {
font-size: 110px;
top: -13px;
}

.contents_ttl_nam {
padding-left: 130px;
}
.confirm_page_wrapper {padding-top: 100px!important;}

.top_logo a {
width: 66px;
height: 66px;
background-size: contain;
}
.client_link_ul li:nth-child(3n) {
padding-right: 0;
}
.client_link_ul li:nth-child(5) {
font-size: 16px;
}
}

@media screen and (max-width:768px){
.main_image_catch {
padding: 10vw 20px;
}

.contents_left {
width: fit-content;
padding: 0 80px 0 0;
border: none;
position: relative;
margin: 0 0 30px 0;
}

.contents_left:before {
content: "";
display: block;
height: 1px;
background: #000;
width: 50px;
position: absolute;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}

.contents_right {
width: 100%;
}

.f20 {
font-size: 16px;
}

.contents_inner {
margin-bottom: 100px;
}

.simple_list_wrapper {
padding: 0 0px 0 20px;
}

.contents_ttl_nam {
margin-bottom: 30px;
padding-bottom: 50px;
padding-left: 110px;
}

.f30 {
font-size: 20px;
}

.contents_ttl_nam:before {
font-size: 90px;
top: -10px;
}

.form_left {
width: 100%;
}

/* .form_right {} */

.form_right {
width: 100%;
}

#contact .ta_r {
text-align: center;
}


.client_link_ul li {
    width: calc(100% / 2 - 5px);
    padding: 0;
    margin-bottom: 10px;
}


.client_link_ul {
    justify-content: space-between;
}

.client_link_ul a {
    padding: 15px 5px;
}

}

@media screen and (max-width:520px){
.main_image_catch {font-size: 11.4vw;padding: calc(5vw + 70px) 10px 5vw 10px;}

.contents_wrapper {padding: 30px 10px 0 10px;max-width: calc(100% - 20px);}

.f20 {
font-size: 14px;
}
.f25{font-size:18px;}
.contents_inner {
margin-bottom: 70px;
}

.contents_ttl_nam:before {
font-size: 60px;
top: -8px;
}

.contents_ttl_nam {
padding-left: 70px;
padding-bottom: 20px;
}

.f16 {
font-size: 12px;
}

.f35 {
font-size: 25px;
}

.mb30 {
margin-bottom: 10px;
}

.main_footer {
padding: 50px 10px;
}

.main_header {padding: 10px 10px 0;}

.menu_toggle_btn {top: 24px;right: 10px;}

.more_button {
padding: 10px;
}
.button-flex{
    justify-content: space-between;
}
.more_button.f20.button-w{
    margin-top: 20px;
}
.button-flex br{
    display: none;
}
.f46 {
font-size: 30px;
}

.contents_left {
padding: 0 60px 0 0;
margin-bottom: 20px;
}
.top_logo {
width: 46px;
height: 50px;
}

.header_nav_inner img {
width: 60px;
}

.header_nav_inner {
font-size: 6vw;
}
.coming_soon_wrapper {
height: 200px;
line-height: 200px;
font-size: 20px;
}
.mw_wp_form .error {
    font-size: 12px!important;
}
.contents_wrapper {
    padding-top: 130px;
}

.events_wrapper li {
    width: 100%;
    margin-bottom: 15px;
    padding: 10px 20px 15px 20px;
}

.events_wrapper .mb10 {
    margin-bottom: 5px;
}
.client_link_ul li:nth-child(5) {
    font-size: 12px;
}

}
@media screen and (max-width:420px){
.button-flex{
display: block;
}

}