body {
    width: 100%;
    line-height: 150%;
    font-size: 12px;
    color: #555555;
    margin: 0;
    padding: 0;
    background-color: aliceblue;
    text-align: left;
    position: relative;
    font-family: "Segoe UI", "Meiryo", "Hiragino Sans", sans-serif;
}


.top {

    background-color: #003F98;

}

.top_contact {
    background-color: #ffffff;
    padding: 50px 0;
}
.top_contact_box {
    width:800px;
    margin: 0 auto;
}

.top_contact_title{
    font-size: large;
    font-weight: bold;
    text-align: center;
}

@media screen and (max-width: 800px) {

.top_contact_box {
    width:480px;
    margin: 0 auto;
}
    
}
.catchrikken{
    position:absolute;
    top:calc(6vw + 180px);
    font-size:6vw;
    color:#003F98;
    font-weight:800;
    display: inline-block;
    white-space: nowrap;
    z-index:1;
    letter-spacing:0em;
    margin-left:2vw;
    transform: skewY(-8deg);
    animation:jump 0.5s ease 0.1s forwards;
    opacity: 0;
}
/* 白枠（中間：10px分） */
.catchrikken::after {
  content: attr(data-text);
  position: absolute;
  top: 0; left: 0;
  /* 10px分。2倍の20pxに設定 */
  -webkit-text-stroke: 0.7vw white;
  z-index: -1;
}
.ctrb{
    margin:6.0vw 0 0 2vw;
}
.ctrb2{
    margin:2.5vw 0 0 43vw;transform:rotate(12deg);
}
@keyframes jump {
  0% {
    transform:skewY(-8deg) translateX(-200px) translateY(28px);
    opacity: 0;
  }
  100% {
    transform:skewY(-8deg) translateX(0) translateY(0);
    opacity: 1.0;
  }
}

@media screen and (max-width: 480px) {

    .top_contact_box {
        width:100%;
        margin: 0 auto;
    }
}

.font14 {
    font-size: 14px;
    line-height: 150%;

}


.font {
    font-size: 20px;
    font-weight: 600;
    margin: 10px 0 0 0;
}

/*
 ?w?b?_?[
----------------------------------------------------------*/



header img {
    width: 200px;

}

header {
    background-color: #ffffff;

}

/*
 ???C??
----------------------------------------------------------*/



.sp img {
    display: none;
}

.pc img {
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
}

/*
 ???e
----------------------------------------------------------*/

article {
    width: 80%;
    margin: auto;
}

.bira {
    width: 70%;
    margin: auto;
}

.bira_left {
    width: 100%;
    padding: auto;
    text-align: center;
}

.bira_left img {
    width: 80%;

}


.bira_right {
    width: 100%;
    font-size: 30px;
    line-height: 2;
    text-align: center;
    color: #ffffff;
    padding: 50px auto;
    ;
}

.detail {
    font-size: 20px;
    background-color: rgba(255, 255, 255, 1);
    color: #003F98;
    border: solid 1px #ffffff;
    width: 40%;
    text-align: center;
    margin: auto;

}

a {
    text-decoration: none;

}



/*---------?^?C?g??---------*/

h1 {
    display: block;
    background: url(../img/header2.png);
    background-repeat: no-repeat;
    background-size: cover;
    height: 200px;
    border-bottom: 2px solid #7b7b7b;
    margin: auto;
}

h2 {
    display: block;
    font-size: 40px;
    padding: 0 0 20px 0;
    margin: 10px 0 0 0;
    border-bottom: 2px solid #7b7b7b;
    line-height: 1;
}

.title {
    padding: 90px;
}

.header_s {
    display: none;
}

/*---------?c?????---------*/


.policy_wrap {
    width: 100%;
    text-align: center;
}
.policy_wrap3 {
    width:100%;
    display: flex;
    justify-content: center;
}
.policy_wrap2 {
    width:840px;
    text-align: left;
    padding:16px;
    background:#fff;
    font-size:16px;
    color:#333;
}
.p_title{width:100%;text-align:center;padding:24px 0;font-size:32px;font-weight:800;line-height:1.5;}
.p_title2{line-height:1.5;font-size:24px;font-weight:800;margin-bottom:24px;}
.p_title3{margin-bottom:32px;display:grid;grid-template-columns:40px 1fr;gap:0 8px;line-height:1.5;font-size:24px;font-weight:800;}
.p_title4{margin-bottom:32px;display:grid;grid-template-columns:24px 1fr;gap:0 8px;line-height:1.5;font-size:24px;font-weight:800;}
.s_title{font-size:20px;font-weight:800;margin-bottom:20px;line-height:1.5;}
.s_title2{display:grid;grid-template-columns:50px 1fr;gap:0 8px;font-size:20px;font-weight:800;line-height:1.5;margin-bottom:20px;}
.s_titles{font-size:18px;font-weight:800;margin-bottom:16px;line-height:1.5;}
.p_com{margin:64px;padding:32px;border:1px #666 solid;}
.p_com2{margin:0 32px;padding:32px;}
.p_com3{padding:0 0 32px 16px;}
.p_t{margin-top:32px;}
@media (max-width: 840px) {
  .policy_wrap2 {
    width:100%;
  }
    .p_com{margin:32px 8px;padding:16px 8px;border:1px #666 solid;}
    .p_com2{margin:0 8px;padding:16px 8px;}
    .p_com3{padding:0 0 32px 16px;}
}
.memberbox1 {
    display: block;
    float: left;
    margin: 0 20px;
}



.memberbox1 img {
    width: 300px;
}


.text_box {
    float: left;
    width: 500px;
    margin: 0 0 100px 0;
}

.memberbox2 {
    float: left;
    width: 250px;
    margin: 0 20px;
}


.memberbox2 img {
    width: 200px;


}

.memberbox3 {
    width: 250px;
    height: 350px;
    padding: 10px;

}

.name {
    font-size: 20px;
    padding: 10px;
    margin: 0 0 10px 0;
    padding: 10px 0 10px 0;
    border-bottom: 1px solid #000000;
    line-height: 1.3em;
}

.membertitle_1 {
    display: inline-block;
    background-color: #003F98;
    color: #ffffff;
    font-size: 12px;
    padding: 5px 5px;
    border-radius: 5px;
    text-align: left;
    margin: 0 0 10px 0;
}



.membertitle_2 {
    display: inline-block;
    background-color: #b50000;
    color: #ffffff;
    font-size: 12px;
    padding: 5px 5px;
    border-radius: 5px;
    text-align: left;
    margin: 0 0 10px 0;
}

.sns {
    margin: 10px 0 0 0;
}

.sns img {
    width: 24px;

}

.prof {
    font-size: 15px;
    font-weight: 900;
    margin: 0 0 10px 0;
}


.r_hp a {
    font-size: 20px;
    color: #ffffff;
    text-decoration: none;
    background-color: #003F98;
    padding: 10px;
    margin: 10px;
    border-radius: 5px;
}


.r_hp2 a {
    font-size: 20px;
    color: #ffffff;
    text-decoration: none;
    background-color: #629df0;
    padding: 10px;
    margin: 10px;
    border-radius: 5px;
}

/*------------clearfix------------*/

.clearfix {

    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

/*------------footer------------*/

footer {
    bottom: 0;
    background-color: #003F98;
    color: #ffffff;
    text-align: right;
    margin: 10px 0 0 0;
    padding-right:10px;

}

.copyright {
    padding: 10px 10px 30px 0;

}