@charset "utf-8";

/* 共通 */
html body{
	font-family: "fot-rodin-pron", "ヒラギノ角ゴ Pro W3", "Josefin Sans", "メイリオ", "hiragino Kaku Gothic Pro", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
    font-weight: 600;
    font-style: normal;
}



.pc { display: block !important; }
.sp750 { display: none !important; }

/* .business-block{
    display:block;
} */

@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp750 { display: block !important; }
}

table {
    table-layout: fixed;
    color: #5097e9;
    width: 100%;/* 表の幅 */
    border-collapse: collapse;/* セルの枠線を重ねる */
}
th, td {
    padding: 8px;/* 余白 */
    text-align: center;
    border: solid 2px  #5097e9;/* 枠線の下線の太さと色 */
}
th {
    background-color: #fff7d7;
}/* 背景色 */

.center{
    text-align: center;
}

*, *:before, *:after {
    box-sizing: border-box;
}
.col_1{
    text-align: center;
    width: 100%;
}
.col_1 > *{
    width: 100% ;
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}
/* 
.col_3 img{
    width: 150%;
} */
.col_3{
    text-align: center;
    width: 100%;
    display: flex;
}
.col_3 > *{
    width: calc( 33.33333% - 8px ) ;
}
.col_3 > * > *{
    height: 120px;
    position: relative;
    overflow: hidden
}
@media screen and (max-width: 960px) {
    .col_3 > *{
        width: calc( 50% - 6px ) ;
    }
}
@media screen and (max-width: 580px) {
    .col_3 > *{
        width: 100%;
    }
    .col_3 > * > *{
        height: 80px;
        position: relative;
        overflow: hidden
    }
    .col_1 > *{
        width: 100% ;
        text-align: center;
    }
}
@media screen and (max-width: 330px) {
    .col_3 > * > *{
        height: 70px;
        position: relative;
        overflow: hidden
    }
}

.header_wrapper.fixed {
    position: fixed;
    z-index: 999;
    background-color: #ffffff;
    margin-top: 0;
    padding-top: 0.6em;
    padding-bottom: 0.6em;
    width: 100%;
    top: 0;
    left: 0;
}
.header_wrapper {
    display: flex;
    z-index: 999;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-top: 0.6em;
    padding-bottom: 0.6em;
}
.logo_header{
    max-width: 25%;
    margin-left: 20px;
}
.logo_header img {
    width: 70%;
}

/* ナビゲーションメニュー */
header .navigation{
    text-align: right;
    margin: 0 30px 0 auto;
}
.sub_item {
    list-style: none;
    display: flex;
    justify-content: flex-end;
    text-align: right;
}
.sub_item li {
    margin: 0 15px;
    font-weight: 600;
    white-space: nowrap;
    font-size: 1.125rem;
}
.sub_item li > a {
    text-decoration: none;
    color: #009145;/*#2177c7*/
}
.sub_item li > a:hover {
    color: #3ac8f3;
    transition: 0.5s;
}
.sub_item li > span.site_contents {
    color: #2177c7;
}
.sub_item li > span.site_contents:hover {
    color: #3ac8f3;
    cursor: pointer;
    transition: 0.5s;
}
.sub_item li > ul.sub_lists {
    display: none;
    list-style: none;
}
.sub_item li > ul.hover {
    position: absolute;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    height: 35vw;
    background-color: rgba(157, 227, 240, 0.8);
    padding: 20px;
    font-size: 1em;
    font-weight: 600;
    border-radius: 20px;
    z-index: 999;
}
.sub_item li > ul.hover li {
    margin: initial;
    white-space: initial;
    width: calc((100% / 2) - (10px));
}
.sub_item li > ul.hover li > a {
    color: #2177c7;
    padding: 8px 5px;
    width: 100%;
    display: block;
    text-align: center;
    font-size: 1em;
    margin: 5px 0;
    transition: 0.6s;
}
.sub_item li > ul.hover li > a:hover {
    color: #0000ff;
}
.sub_item li > ul.hover li > a > span {
    display: block;
}
.sub_item li > ul.hover {
    animation-name: fadeDownAnime;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes fadeDownAnime {
    from {
        opacity: 0;
        transform: translateY(-50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* メールicon */
.mail_icon{
    width: 10%;
    margin-right: 30px;
    text-align: right;
}
.mail_icon a {
    color: #2177c7;
}
.mail_icon a:hover {
    color: #3ac8f3;
    transition: 0.5s;
}
.mail_icon i {
    font-size: 50px;
}

/* mainページのcss */
section{
	/* max-width:1100px; */
	margin:0px auto;
	padding:60px 60px;
    text-align: center;
}

@media(max-width:1100px){
	section{
		padding:60px 60px;
	}
}
@media(max-width:750px){
    section{
        padding:30px 0px;
    }
}
#greetings{
    margin:0 0;
    padding:80px 0;
    background-color:rgba(41,170,225,0.13);
    max-width:unset;
}
.main-block{
    width:100%;
    max-width: 1100px;
    text-align: center;
    margin: 40px auto;
}
.greetings-block{
    max-width:1100px;
    margin-right:auto;
    margin-left:auto;
}
.ttl{
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}
.ttl>h2{
    font-size:1.7em;
    color:#4d4c4f;
}
@media(max-width:580px){
    .ttl>h2{
        font-size:1.3em;
        color:#4d4c4f;
    }
    .main-block{
        margin: 20px auto;
    }
}
#greetings .ttl>h2{
    font-size:1.6em;
    color:#0071BB;
}
.sub-ttl{
    display: inline-block;
    font-size:1em;
    color:#989898;
    font-weight:bold;
    margin-top: 15px;
}
.main-content{
    margin:35px 50px;
    letter-spacing: 0.1em;
    line-height: 1.5em;
}
@media(max-width:625px){
    .main-content{
        letter-spacing: 0em;
        font-size: 0.9em;
    }
}
@media(max-width:525px){
    .main-content{
        letter-spacing: 0em;
        font-size: 0.8em;
    }
}
@media(max-width:380px){
    .main-content{
        letter-spacing: 0em;
        font-size: 0.7em;
    }
}
@media(max-width:330px){
    .main-content{
        letter-spacing: 0em;
        font-size: 0.6em;
    }
}
.main-content .textr {
    text-align: right;
    margin-right: 5px;
}
.company_anchor_content {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.map{
    text-align:center;
    margin-top: auto;
    margin-bottom: 0;
    margin-left: 20px;
 }
 .map iframe{
     width: 30vw;
     height: 25vw;
     max-width: 600px;
     max-height: 500px;
 }
@media screen and (max-width: 900px) {
    .company_anchor_content {
        overflow:scroll;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .k_tbl{
        min-width: 750px;
    }
    .map {
        margin-left: 0;
        margin-top: 30px;
    }
    .map iframe {
        width: 90%;
        height: 50vw;
    }
}
@media(max-width:750px){
    .main-content{
        margin:20px 20px;
    }
    .main-content p {
        font-size: 14px;
    }
}
/** 企業理念 */
#corporates {
    background-image: url(../images/background.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    /* background-position: */
}
/** 写真・プロフィールエリア */
/* プロフィールアニメーション */
.profile_content_wrapper {
    box-sizing: border-box;
    width: 100%;
    height: 364px;
    margin: 35px 0;
}
.profile_content1, .profile_content2, .profile_content3, .profile_content4, .profile_content5 {
    opacity: 0;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%;
}
.profile_wrapper .profile1, .profile_wrapper .profile2, .profile_wrapper .profile3, .profile_wrapper .profile4, .profile_wrapper .profile5 {
    display: flex;
    flex-direction: row;
    justify-content: center;
    padding: 35px;
    background: #f3f3f3;
    border-radius: 5px;
}
.patapata1, .patapata2, .patapata3, .patapata4, .patapata5 {
    display: none;
    overflow: hidden;
    background: #1b3264;
    animation: patapata 0.9s cubic-bezier(.1, 0, .4, .4) forwards;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    animation-delay: 1s;
    z-index: 1;
}
@keyframes patapata {
    100% {
        transform: translateX(100%);
    }
}
.profile_wrapper {
    width: 90%;
    margin: 0 auto;
}
.profile_wrapper .profile .picture {
    width: 30%;
}
.profile_wrapper .profile .picture p {
    padding: 15px 5px 0 25px;
    font-size: 16px;
    letter-spacing: 0.03em;
}
.profile_wrapper .profile .picture img {
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    min-height: 270px;
    max-width: 220px;
    height: auto;
    object-fit: cover;
    object-position: center center;
}
.profile_wrapper .profile .comments {
    margin-left: 5px;
    width: 70%;
}
.profile_wrapper .profile .comments .text_area {
    padding-top: 5px;
}
.profile_wrapper .profile .comments .text_area p {
    font-size: 16px;
    letter-spacing: 0.03em;
    line-height: 1.3em;
}


/*フロント-会社概要*/
table.company_tbl{
    margin:0 auto;
    width:90%;
    border-color: #B2B2B2;
    border: 1px solid #B2B2B2;
}
table.company_tbl tbody tr{
    width:100%;
    border-top:1px solid #B2B2B2;
    border-bottom:1px solid #B2B2B2;
    
}
table.company_tbl tbody th{
    width:25%;
    padding:20px 0;
    background-color:#E7E7E7;
    vertical-align: middle;
}
table.company_tbl tbody td{
    width:75%;
    padding:20px 0;
    padding-left:15px;
    box-sizing: border-box;
    letter-spacing: 0.1em;
}
@media(max-width:750px){
    table.company_tbl tbody th{
        display:block;
        width:100%;
    }
    table.company_tbl tbody td{
        display:block;
        width:100%;
        text-align: center;
        padding-left: 0;
    } 
}
/*フロント-事業内容*/
@media screen and (max-width: 750px) {
    .company_content {
        margin: 20px auto;
    }

}
.business-block{
    display:flex;
    width:100%;
    margin-bottom:20px;
}
.businesscomp-block{
    display:block;
    width:100%;
    margin-bottom:20px;
    text-align: center;
}
.business-content{
    display:block;
    /* width:calc(100% / 2 - 20px); */
    margin-right:auto;
    margin-left:auto;
}
.company-imgcon{
    display: flex; /*横並び*/
    /* flex-wrap: wrap; */
    align-items: flex-start;
    width: 100%;
    margin-bottom: 20px;

    align-items: center;
}
.company-imgcon > img{
    min-width: 30%; 
    margin-right: 10px;
    overflow: hidden;
    width: 100%;
    max-width: 30%; 
}
.business-img{
    margin-bottom: 20px;
}
.business-img img{
    width:100%;
}
.company-imgcon > .business-txt{
    max-width: 100%; 
}

@media(max-width:900px){
    .company-imgcon{
        display: block; 
    }
    .company-imgcon > img{
        min-width: 30%; 
        margin-right: 0px;
        overflow: hidden;
        width: 100%;
        max-width: 80%; 
    }
}

.business-txt{
    margin-top:5px;
    text-align: center;
	display: block;
}
.business-txt h3{
    font-size:1.1em;
    color:#454547;
}
.business-txt p{
    margin-top:5px;
    font-size:14px;
    letter-spacing: 0.02em;
    line-height: 1.2em;
    /* text-indent: -1em; */
    text-align: left;
	/* display: inline-block; */
}
.contact_buttons {
    text-align: center;
    display: inline-flex;
    border: 2px solid #f2ff9c;
    background-color: #308ecc;
    color: #1183e0;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 0.9em;
    letter-spacing: 1px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-top: 30px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border-radius: 10px;
    font-weight: bold;
    box-shadow: 0px 0px 6px #676767;
    transition: all .45s ease-Out;
}
#circle {
    width: 0%;
    height: 0%;
    opacity: 0;
    line-height: 40px;
    border-radius: 50%;
    background: #74b4e9;
    position: absolute;
    transition: all .5s ease-Out;
    top: 20px;
    left: calc(50% - 5px * 2);
}
.contact_buttons a {
    color: #ffffff;
    text-decoration: none;
    letter-spacing: 1px;
    position: relative;
    transition: all .45s ease-Out;
    padding: 14px 25px;
}
.contact_buttons:hover #circle {
    width: 200%;
    height: 500%;
    opacity: 1;
    top: -70px;
    left: -70px;
}

.contact_buttons:hover a {
    color: #ffffff;
}
.contact_buttons:active {
    box-shadow: none;
    transform: translateX(3px);
    transform: translateY(3px);
}
@media(max-width:750px){
    .business-block{
        display:block;
        margin-bottom:0;
    }
    .businesscomp-block{
        display:block;
        margin-bottom:0;
    }
    .business-content{
        width:100%;
        margin-bottom:60px;
    }
}
/*フロント-リンク*/
.link-flex{
    display:-webkit-box;
    display:flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap:         wrap;
    margin: 20px auto;
}
.link-img{
    position: relative;
    width:calc(100% / 2 - 20px);
    margin-bottom:25px;
    border: 3px solid #dbdbdb;
}
@media screen and (max-width: 400px) {
    .link-flex {
        width: 100%;
    }
}
.link-img img{
    width:100%;
    height: 100%;
}
.link-img img#tff2023 {
    position: absolute;
    right: 6%;
    object-position: center center;
    width: 90%;
}
@media(max-width:750px){
    .link-img{
        width:100%;
        height: 28vw;
        margin-bottom: 15px;
    }
    .link-img img {
        width: 100%;
        height: 100%;
    }
}

/* 個人情報保護方針 */
.enactment {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    padding-top: 50px;
}
.enactment .title {
    text-align: center;
}
.enactment .privacy_image {
    margin-top: 50px;
}
.enactment .privacy_image div {
    width: 82.5%;
    margin: 0 auto;
}
.enactment .privacy_image div.image_2 {
    margin-top: 70px;
}
.enactment .privacy_image div.image_3 {
    margin-bottom: 30px;
}
.enactment .privacy_image img {
    width: 100%;
    height: 100%;
}
.enactment .privacy_image img.image_sp {
    display: none;
}
.enactment .title h2 {
    font-size: 1.6em;
    color: #0071BB;
    letter-spacing: 0.05em;
}
.enactment .content {
    font-size: 1em;
    letter-spacing: 0.1em;
    line-height: 1.3em;
    margin-top: 30px;
}
.enactment .content .privacy_item dl > dt {
    margin-top: 25px;
    font-weight: 600;
}
.enactment .content .privacy_item dl > dd {
    margin-top: 5px;
    padding-left: 1.15em;
}
.enactment .content .policy_info {
    text-align: right;
    margin-top: 2em;
}
.enactment p#mail_manager {
    margin-top: 3px;
}
a {
    text-decoration: none;
}
.company_policy {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    margin-top: 50px;
    margin-bottom: 70px;
}
.company_policy .second_title {
    display: inline-block;
    font-size: 1.3em;
    letter-spacing: 0.05em;
    padding: 8px;
    box-shadow: -3px -3px 2px #4261ec, 3px 3px 2px #575757;
    border: none;
    border-radius: 8px;
}
.company_policy .company_info {
    font-size: 1em;
    letter-spacing: 0.1em;
    line-height: 1.3em;
    margin-top: 10px;
}
.company_policy .company_info .manager dl > dt {
    font-weight: 600;
    font-size: 1em;
    margin-top: 20px;
}
.company_policy .company_info .manager dl > dd {
    margin-top: 5px;
}
.company_policy .company_info .manager dl > dd > p.notice {
    padding-left: 0;
    margin-bottom: 20px;
}
.company_policy .company_info .manager dl > dd > li {
    list-style: none;
    padding-left: 2.4em;
}
.company_policy .company_info .manager dl > dd > p {
    padding-left: 2.4em;
}
.company_policy .company_info .manager dl > dd > div.table_1 {
    margin-top: 20px;
    margin-bottom: 20px;
}
.company_policy .company_info .manager dl > dd > div.table_1 > table.table_1_sp {
    display: none;
}
.company_policy .company_info .manager dl > dd > div.table_1 > table {
    border-collapse: collapse;
    width: 100%;
    border: 1px solid #242424;
}
.company_policy .company_info .manager dl > dd > div.table_1 > table > tbody > tr > th {
    border: 1px solid #242424;
    padding: 10px;
}
.company_policy .company_info .manager dl > dd > div.table_1 > table > tbody > tr > td:first-child {
    text-align: center;
    vertical-align: middle;
    width: 35%;
    font-size: 0.95em;
    letter-spacing: 0.05em;
    line-height: 1.2em;
    border: 1px solid #242424;
    padding: 15px;
}
.company_policy .company_info .manager dl > dd > div.table_1 > table > tbody > tr > td:nth-child(2) {
    width: 65%;
    font-size: 0.95em;
    letter-spacing: 0.05em;
    line-height: 1.2em;
    padding: 15px;
    border: 1px solid #242424;
    vertical-align: middle;
}
.company_policy .company_info .manager dl > dd > div.table_2 > table.table_2_sp {
    display: none;
}
.company_policy .company_info .manager dl > dd > div.table_2 > table {
    border-collapse: collapse;
    width: 100%;
    border: 1px solid #242424;
}
.company_policy .company_info .manager dl > dd > div.table_2 > table > tbody > tr > th {
    border: 1px solid #242424;
    padding: 10px;
}
.company_policy .company_info .manager dl > dd > div.table_2 > table > tbody > tr > td:first-child {
    text-align: center;
    vertical-align: middle;
    width: 35%;
    font-size: 0.95em;
    letter-spacing: 0.05em;
    line-height: 1.2em;
    border: 1px solid #242424;
    padding: 15px;
}
.company_policy .company_info .manager dl > dd > div.table_2 > table > tbody > tr > td:nth-child(2) {
    width: 65%;
    font-size: 0.95em;
    letter-spacing: 0.05em;
    line-height: 1.2em;
    padding: 15px;
    border: 1px solid #242424;
    vertical-align: middle;
}
.company_policy .company_info .manager dl > dd > p.window_info {
    padding-left: 0;
    margin-bottom: 10px;
}
.company_policy .company_info .manager dl > dd > div.table_3 > table {
    border-collapse: collapse;
    border: 1px solid #242424;
    width: 80%;
}
.company_policy .company_info .manager dl > dd > div.table_3 > table > tbody > tr > th {
    padding: 10px;
    border: 1px solid #242424;
    vertical-align: middle;
}
.company_policy .company_info .manager dl > dd > div.table_3 > table > tbody > tr > td:first-child {
    width: 30%;
    font-size: 1em;
    letter-spacing: 0.05em;
    line-height: 1.3em;
    border: 1px solid #242424;
    padding: 15px;
}
.company_policy .company_info .manager dl > dd > div.table_3 > table > tbody > tr > td:nth-child(2) {
    width: 70%;
    font-size: 1em;
    letter-spacing: 0.05em;
    line-height: 1.3em;
    padding: 15px;
    border: 1px solid #242424;
    vertical-align: middle;
}
.company_policy .company_info .manager dl > dd > div.table_3 > table.table_3_sp {
    display: none;
}

.company_policy .company_info .manager dl > dd > div.table_3 > table > tbody > tr > td > li {
    list-style: none;
}

@media screen and (max-width: 830px) {
    .company_policy .company_info .manager dl > dd > div.table_3 > table {
        width: 100%;
    }
}
@media screen and (max-width: 750px) {
    .enactment .content {
        font-size: 0.9em;
        letter-spacing: 0.05em;
    }
    .enactment .content .privacy_item dl > dt {
        margin-top: 15px;
    }
    .enactment .content .privacy_item dl > dd {
        margin-top: 3px;
    }
    .enactment .content .policy_info {
        font-size: 0.9em;
        margin-top: 1.5em;
    }
    .enactment .content .policy_info > p#nb {
        display: none;
    }
    .enactment .content .policy_info > p:nth-child(2) {
        margin-bottom: 10px;
    }
    .enactment .content .policy_info > p:nth-child(5) {
        margin-bottom: 10px;
    }
    .company_policy .second_title {
        font-size: 1.2em;
    }
    .company_policy .company_info {
        font-size: 0.9em;
        letter-spacing: 0.05em;
        margin-top: 8px;
    }
    .company_policy .company_info .manager dl > dt {
        font-size: 0.95em;
        margin-top: 15px;
        text-indent: -2.2em;
        padding-left: 2.2em;
    }
    .company_policy .company_info .manager dl > dd > li {
        padding-left: 2.4em;
        font-size: 0.9em;
        letter-spacing: 0.05em;
    }
    .company_policy .company_info .manager dl > dd > p {
        padding-left: 2.1em;
    }
    .company_policy .company_info .manager dl > dd > div.table_1 > table {
        display: none;
    }
    .company_policy .company_info .manager dl > dd > div.table_1 > table.table_1_sp {
        display: table;
    }
    .company_policy .company_info .manager dl > dd > div.table_1 > table > tbody > tr > th {
        background-color: #37ac63;
        color: #fcfcfc;
        font-size: 1.05em;
    }
    .company_policy .company_info .manager dl > dd > div.table_2 > table.table_2_sp {
        display: table;
    }
    .company_policy .company_info .manager dl > dd > div.table_2 > table {
        display: none;
    }
    .company_policy .company_info .manager dl > dd > div.table_2 > table > tbody > tr > th {
        background-color: #0071BB;
        color: #fcfcfc;
        font-size: 1.05em;
    }
}
@media screen and (max-width: 600px) {
    .company_policy .company_info .manager dl > dd > div.table_3 > table {
        display: none;
    }
    .company_policy .company_info .manager dl > dd > div.table_3 > table.table_3_sp {
        display: table;
        width: 100%;
    }
    .company_policy .company_info .manager dl > dd > div.table_3 > table > tbody > tr > td:first-child {
        text-align: left;
        padding: 10px;
        font-size: 0.9em;
        letter-spacing: 0.05em;
    }
}
@media screen and (max-width: 400px) {
    .company_policy .company_info .manager dl > dd > div.table_3 > table > tbody > tr > td:first-child {
        font-size: 0.875em;
    }
}



.main_image {
    width: 100%;
    position:relative;
}
.main_image>p{
    position:absolute;
    top:38%;
    right:0%;
    color:#736357;
    font-size:3.55vmax;
    font-weight:bold;
    line-height:1.3;
}
.main_image img{
    display:block;
    width: 100%;
    /* height: 55vw;40vw */
    object-fit: cover;
    object-position: 40% 50%;
}
@media(min-width:1100px){
    .main_image{
        margin-right:auto;
        margin-left:auto;
    }
    /* .main_image img{
        height:auto;
    } */
}

.sub_menu_lists {
    left: 100%;
    height: 100vh;
    width: 100%;
    position: fixed;
}

.sub_menu_lists ul > li {
    list-style: none;
}

.topics {
    margin-top: 20px;
    margin-bottom: 50px;
}
.topics_title {
    text-align: center;
    position: relative;
    right: 320px;
    margin-top: 20px;
    padding: 10px;
}
.topics_title h3 {
    font-size: 1.25rem;
}
.news_text {
    opacity: 0;
}
.contents_wrapper {
    display: flex;
    justify-content: center;
}
.contents {
    opacity: 0;
    position: relative;
    width: 300px;
    height: 300px;
    background-color: #b8b7b7;
    margin: 10px 15px;
}
.contents a {
    text-decoration: none;
    color: #0c0c0c;
}
.contents a:hover {
    opacity: 0.6;
    transition: 0.6s;
}
.contents img {
    width: 100%;
    object-fit: cover;
    object-position: center center;
    height: 160px;
}
span.info_tag {
    background-color: #2177c7;
    position: absolute;
    top: 150px;
    z-index: 1;
    color: #f0f0f0;
    padding: 4px 10px;
    font-size: 0.875rem;
    left: 10px;
}
.contents_topics {
    width: 100%;
    height: 140px;
    position: absolute;
    top: 160px;
    background-color: #e6e5e5;
}
.contents_topics p {
    position: absolute;
    font-size: 0.875rem;
    top: 60px;
    left: 10px;
}
.contents_topics span {
    position: absolute;
    top: 120px;
    left: 10px;
    font-size: 0.75rem;
}

.no_news{
	margin: 6em 0;
}
.no_news div{
	position: relative;
	text-align: center;
}
.no_news div::before{
	content: "";
	position: absolute;
	top: 45%;
	left: 10%;
	width: 20%;
	padding: 1px;
	background-color: #000;
}
.no_news div::after{
	content: "";
	position: absolute;
	top: 45%;
	right: 10%;
	width: 20%;
	padding: 1px;
	background-color: #000;
}
.no_news div > p{
	font-size: 18px;
}

.news_lists {
    margin-top: 20px;
}
.list_button a {
    display: block;
    text-decoration: none;
    color: #0c0c0c;
    background-color: #ffffff;
    color: #292929;
    border: 1.2px solid #000000;
    width: 250px;
    padding: 15px 0;
    text-align: center;
    margin: 0 auto;
    font-size: 1.125rem;
    transition: all 0.5s;
}
.lists_check {
    opacity: 0;
}
.list_button a:hover{
    background-color: #2e83f3;
    color: #ffffff;
    transition: all 0.5s;
}

.company {
    background-image: url("../images/background/bgpc_company.jpg");
    background-size: cover;
    background-position: center, center;
    background-repeat: no-repeat;
    height: 500px;
}
.company_wrapper {
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.company_guidance {
    text-align: center;
    padding-top: 120px;
}
.company_guidance h3 {
    font-size: 3.25rem;
    font-style: italic;
    font-weight: 800;
}
.company_sub {
    opacity: 0;
}
.company_guidance div {
    font-size: 1.5rem;
    width: 90%;
    font-weight: 600;
    margin: 10px auto 0;
    transform: skewX(-12deg);
    margin-top: 10px;
}
.explanation {
    margin-left: 30px;
    margin-right: 30px;
    padding-top: 40px;
}
.explanation p {
    text-align: center;
    font-size: 1.25rem;
}
.company_sub_text {
    opacity: 0;
}
.description {
    padding-top: 90px;
}
.description_button a {
    display: block;
    border: 1.2px solid #000000;
    background-color: rgb(255, 255, 255, 0.4);
    text-align: center;
    width: 250px;
    font-size: 1.25rem;
    margin: 0 auto;
    padding: 15px 0;
    text-decoration: none;
    color: #0c0c0c;
}
.description_button a:hover {
    background-color: #2e83f3;
    color: #ffffff;
    transition: all 0.5s;
}

.contents_info {
    background-image: url("../images/background/bgpc_contents.jpg");
    background-size: cover;
}
.contents_info_guidance {
    padding-top: 50px;
    margin-bottom: 30px;
}
.contents_info_guidance h3.contents_text {
    opacity: 0;
}
.contents_info_guidance h3 {
    font-size: 3.25rem;
    font-style: italic;
    font-weight: 800;
    text-align: center;
}
.contents_info_item {
    display: flex;
    justify-content: center;
    padding-bottom: 50px;
}
.contents_info_item .item_left {
    opacity: 0;
}
.contents_info_item .item_center {
    opacity: 0;
}
.contents_info_item .item_right {
    opacity: 0;
}
.wrap a {
    display: block;
    border: 1.2px solid #000000;
    background-color: rgba(255, 255, 255, 0.4);
    text-align: center;
    width: 220px;
    font-size: 1.125rem;
    margin: 30px 30px;
    padding: 10px 5px;
    text-decoration: none;
    color: #0c0c0c;
}
.item_divide div:not(.wrap) > a {
    display: block;
    border: 1.2px solid #000000;
    background-color: rgb(255, 255, 255, 0.4);
    text-align: center;
    width: 220px;
    font-size: 1.125rem;
    margin: 30px 30px;
    padding: 19px 5px;
    text-decoration: none;
    color: #0c0c0c;
}
.item_divide div > a:hover {
    background-color: #2e83f3;
    color: #ffffff;
    transition: all 0.5s;
}
.contents_info_item div > a > span {
    display: block;
}

.contents_info_sp {
    display: none;
}

.contact_wrapper {
    max-width: 850px;
    margin: 0 auto;
    padding-top: 80px;
    display: flex;
    justify-content: space-between;
}
.contact_image{
    width: 40%;
    text-align: center;
}
.contact_image .contact_info_image {
    opacity: 0;
}
.contact_image img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.contact_wrapper .contact_letter_wrapper{
    width: 53%;
}
.contact_text {
    margin-bottom: 30px;
}
.contact_text h3 {
    font-size: 3rem;
    color: #3a3a3a;
}
.contact_text div {
    font-size: 1.5rem;
    font-weight: 600;
}
.contact_button {
    margin-top: 40px;
}
.contact_button .contact_link {
    opacity: 0;
}
.contact_button div > a {
    display: block;
    border: 1px solid #0c0c0c;
    padding: 10px 5px;
    text-align: center;
    width: 200px;
    font-size: 1.125rem;
    font-weight: 500;
    text-decoration: none;
    color: #0c0c0c;
}
.contact_button div > a:hover {
    background-color: #2e83f3;
    color: #ffffff;
    transition: all 0.5s;
}
.contact_contents .contact_text {
    opacity: 0;
}
.contact_contents p {
    font-size: 1.125rem;
    letter-spacing: 0.125em;
    line-height: 1.8;
}
.contact_contents div {
    display: none;
}



/* footerのcss */
.footer_wrapper {
    /* background-color: #ffffff; */
}

.logo_footer {
    display: flex;
    justify-content: center;
}
.logo_footer a {
    margin-top: 40px;
    text-align: center;
    width: 80%;
    max-width: 320px;
    margin-bottom: 25px;
}
.logo_footer a > img {
    width: 70%;
    min-width: 150px;
}
.footer_item {
    width: 95%;
    margin: 0 auto;
}
.footer_sub_item {
    list-style: none;
    /*margin-bottom: 140px;*/
    text-align: center;
    padding-top:30px;
}
.footer_sub_item li {
    display: inline-block;
    color: #fff;
    font-weight: 500;
    font-size: 1rem;
}
.footer_sub_item li:after{
    display:inline-block;
    vertical-align:middle;
    text-align:center;
    content: "|";
    color:#fff;
}
.footer_sub_item li:last-of-type:after{
    content: "";
}
.footer_sub_item li#dummy {
    display: none;
}

.footer_sub_item li > a {
    text-decoration: none;
    color: #fff;
    margin: 0 10px;
}
.footer_sub_item li > a:hover {
    color: #61cef0;
    transition: 0.5s;
}
@media screen and (max-width: 820px) {
    .footer_sub_item {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        text-align: left;
        align-items: center;
        padding-top: 15px;
        width: 90%;
        margin: 0 auto;
    }
    .footer_sub_item li {
        display: inline-block;
        width: calc(100% / 3);
        margin-top: 15px;
        font-size: 15px;
    }
    .footer_sub_item li::before {
        display:inline-block;
        vertical-align:middle;
        text-align:center;
        content: "●";
        color:#fff;
        margin: 0 2px 0 3px;
    }
    .footer_sub_item li#dummy {
        display: inline-block;
    }
    .footer_sub_item li#dummy::before {
        opacity: 0;
    }
    .footer_sub_item li:after {
        display: none;
    }
    .footer_sub_item li > a {
        margin: initial;
    }
}

.copyright {
    background-color: #ffffff;
    display: table;
    height: 50px;
    width: 100%;
    color: #9c9ca1;
    opacity:0.7;
}
.copyright div {
    vertical-align: middle;
    /* padding-bottom: 15px; */
}
.copyright div > div.access > p {
    font-size: 15px;
    line-height: 1.3em;
    text-align: center;
}
.copyright div.copy_text > p {
    margin-top: 20px;
    text-align: center;
    font-size: 14px;
}


@media(max-width:500px){
    .footer_map{
        padding:0 30px;
    }
    .footer_map iframe{
        width:100%;
        height:50vw;
    }
    .copyright div > div.access > p {
        font-size: 14px;
        line-height: 1.2em;
    }
    .copyright div.copy_text > p {
        font-size: 13px;
    }
}



/* フッターデザイン線 */
#purple {
    color: #8611f3;
}
.green {
    border:1px solid #58e4ea;
    background:#58e4ea;
}
.yellow {
    border:3px solid #efdb96;
    background:#efdb96;
}
#gray {
    color: #686767;
}
.blue {
    border:1px solid #308ecc;
    background:#308ecc;
}
#white {
    color: #c0bebe;
}
#red {
    color: #f12222;
}


/* 各コンテンツのタイトル */
.information_title_text {
    margin-top: 10px;
}
.information_title_text .text {
    padding: 15px 0 15px 20px;
    background: radial-gradient(#ffffff, #bdbbbb);
}
.information_title_text .text h2 {
    font-size: 1.8em;
    letter-spacing: 0.08em;
    color: #2177c7;
}
.information_title_text .flex {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.information_title_text .text h2 > span {
    color: #fefefe;
    display: inline-block;
    margin-right: 5px;
}
.information_title_text .flex span {
    font-size: 1.8em;
    color: #fefefe;
    margin-right: 5px;
}
.information_title_text .text h2 > span.info {
    display: block;
    font-size: 0.8em;
    color: #2177c7;
    font-weight: 400;
}


/* アニメーション用css */
.backInLeft {
    animation: backInLeft;
    animation-duration: 1s;
}
.backInRight {
    animation: backInRight;
    animation-duration: 1s;
}
.fadeInUp {
    animation: fadeInUp;
    animation-duration: 1.5s;
}
.zoomInUp {
    animation: zoomInUp;
    animation-duration: 1.5s;
}
.backInUp {
    animation: backInUp;
    animation-duration: 1.5s;
}
.bounceInLeft {
    animation: bounceInLeft;
    animation-duration: 2.5s;
}
.bounceInUp {
    animation: bounceInUp;
    animation-duration: 2.5s;
}
.bounceInRight {
    animation: bounceInRight;
    animation-duration: 2.5s;
}
.lightSpeedInLeft {
    animation: lightSpeedInLeft;
    animation-duration: 1s;
}
.fadeInLeft {
    animation: fadeInLeft;
    animation-duration: 1s;
}
.fadeInRight {
    animation: fadeInRight;
    animation-duration: 1s;
}
.zoomIn {
    animation: zoomIn;
    animation-duration: 1.5s;
}

#greetings_anchor,
#company_anchor,
#business_anchor,
#link_anchor{
    display:block;
    /* margin-top:-100px;
    padding-top:100px; */
}

/*お問い合わせページ*/
.menu .formarea {
    background-color: #ebfdfd;
    width: 100%;
}
.formarea {
    padding-top: 50px;
    padding-bottom: 70px;
    margin: 0 auto;
}
.formarea .contact_layout {
    max-width: 1100px;
    margin: 0 auto;
}
.contact_title {
    text-align: center;
}
.contact_title h2 {
    color: #547af8;
    font-weight: 800;
    font-size: 1.8em;
}
.contact_title div {
    color: #a8a8a8;
    font-weight: 600;
    font-size: 1.3em;
    margin-top: 3px;
    letter-spacing: 0.05em;
}
.contact_all{
    width:100%;
    margin-bottom:15px; 
}
.contact-flex{
    display:flex;
    vertical-align: middle;
    /*justify-content:center;
    align-items:center;*/
    margin-bottom:5px;
}
.contact-block {
    text-align: left;
}
.hissu{
    border-radius:3px;
    color:#fff;
    padding:5px 10px;
    letter-spacing: 0.05em;
}
.column{
    margin-left: 10px;
    margin-top:auto;
    margin-bottom:auto;
    font-weight: bold;
}

.mrl_a form {
    width: 80%;
    margin: 0 auto;
}
.mrl_a .wpcf7-not-valid-tip {
    margin-top: 10px;
}
.main-content div.ideals_text {
    font-size: 1em;
    margin: 50px 0;

}
.main-content div.ideals_text > div.text_title {
    font-size: 1.15em;
}
.main-content div.ideals_text > ul > li {
    list-style: none;
}
.main-content div.ideals_text > ul > li > p {
    text-indent: -1.5em;
    padding-left: 1.5em;
    line-height: 1.5em;
    letter-spacing: 0.05em;
}
.mrl_a input {
    width: calc(100% - 40px);
    font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','ＭＳ Ｐゴシック',sans-serif;
    outline: 3px solid #e7e7e7;
    border: none;
    padding: 8px 20px;
    border-radius: 5px;
    background-color: #ffffff;
	-webkit-appearance: none;
	appearance: none;
    font-size: 1em;
    margin-top: 5px;
}
.mrl_a input[type=checkbox] {
    width: initial;
    outline: initial;
    padding: 8px;
    border: 2px solid #e7e7e7;
    border-radius: initial;
    appearance: initial;
    -webkit-appearance: initial;
    font-size: initial;
    margin-top: initial;
    border-radius: 5px;
    cursor: pointer;
    vertical-align: middle;
    position: relative;
    margin-top: 3px;
}
.mrl_a input[type=checkbox]::before, .mrl_a input[type=checkbox]::after {
    content: "";
    display: block;
    position: absolute;
}
.mrl_a input[type=checkbox]::before {
    background-color: #ffffff;
    border-radius: 0%;
    width: 8px;
    height: 8px;
    transform: translateY(-70%);
    top: 50%;
    left: 2px;
}
.mrl_a input[type=checkbox]::after {
    border-bottom: 3px solid #2177c7;
    border-left: 3px solid #2177c7;
    opacity: 0;
    height: 5px;
    width: 7px;
    top: 3px;
    left: 4px;
    transform: rotate(-45deg);
}
.mrl_a input[type=checkbox]::after {
    opacity: 0;
}
.mrl_a input[type=checkbox]:checked:after {
    opacity: 1;
}
.mrl_a input[type=checkbox]:focus {
    outline: initial;
    /* background-color: #2e83f3; */
}
.menu .contact_all .agree_check p {
    text-align: left;
}
.menu .contact_all .detaillink p {
    text-align: left;
}
/* .menu .contact_all .detaillink a {
    text-decoration: none;
    color: #2177c7;
    background-image: linear-gradient(90deg, #0000ff, #0000ff);
    background-repeat: no-repeat;
    background-size: 0 2px;
    background-position: left bottom;
    transition: background 0.6s;
} */
.menu .contact_all .detaillink a:hover {
    background-size: 100% 2px;
}
.menu .contact_all .agree_check {
    margin-top: 10px;
}
.menu .contact_all .detaillink {
    margin-top: 5px;
}
.menu .submit {
    width: 50%;
    margin: 0 auto;
    margin-top: 30px;
}
.mrl_a input.wpcf7-submit {
    width: 100%;
    font-weight: 600;
    letter-spacing: 0.1em;
	-webkit-appearance: none;
	appearance: none;
    color: #000000;
    text-align: center;
}
/* .mrl_a input.wpcf7-submit:hover {
    transition: background 0.6s;
    background-color: #2e83f3;
    color: #ffffff;
    cursor: pointer;
} */
.mrl_a input.wpcf7-submit:focus {
    outline: 3px solid #2e83f3;
}
.mrl_a input:focus {
    outline: 3px solid #8be0fa;
}
.mrl_a select#contact-item {
    display: block;
    width: 50%;
    margin-left: 0;
    margin-right: auto;
    outline: 3px solid #e7e7e7;
    padding: 8px 20px;
    border: none;
    border-radius: 5px;
    background-color: #ffffff;
    -webkit-appearance: none;
    appearance: none;
    font-size: 1em;
    margin-top: 10px;
}
.mrl_a select#contact-item:focus {
    outline: 3px solid #8be0fa;
}
.mrl_a textarea {
    resize: none;
    font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','ＭＳ Ｐゴシック',sans-serif;
    width: calc(100% - 40px);
    border: none;
    outline: 3px solid #e7e7e7;
    padding: 8px 20px;
    border-radius: 5px;
    background-color: #ffffff;
    -webkit-appearance: none;
	appearance: none;
    font-size: 1em;
    margin-top: 5px;
}
.mrl_a textarea:focus {
    outline: 3px solid #8be0fa;
}
.mrl_a textarea#contact_detail {
    height: 120px;
}
.mrl_a form > p {
    width: 30%;
    min-width: 150px;
    margin: 0 auto;
    margin-top: 25px;
    text-align: center;
}
.mrl_a form > p > input.wpcf7-submit {
    padding: 5px;
}

.formarea section {
    padding: 0;
    max-width: initial;
    max-width: 900px;
}

.hissu p{
    vertical-align:center;
}
.blue{
    border:1px solid #308ecc;
    background:#308ecc;
}
.gray{
    border:1px solid gray;
    background:gray;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required{
    width: calc(100% - 40px);
}
.footer_info .footer_sub_item {
    margin-top: 0;
}

/* エラーメッセージ */
.emailformError {
    display: block;
    width: 100%;
    margin-right: auto;
    margin-left: 0;
}
.formError .formErrorContent {
    font-size: 1.05em;
    width: initial;
    background: #ebfdfd;
    color: #ff0000;
    margin-top: 5px;
    line-height: 1.3em;
}

.wpcf7-not-valid#contact-item, .wpcf7-form-control#name, .wpcf7-form-control#kana, .wpcf7-form-control#email, .wpcf7-form-control#email_conf, .wpcf7-form-control#contact_content, .wpcf7-form-control#agree {
    outline: 3px solid #ff0000;
    background-color: #fcf0f0;
}
.wpcf7-form-control:only-child#contact-item, .wpcf7-form-control:only-child#name, .wpcf7-form-control:only-child#kana, .wpcf7-form-control:only-child#email, .wpcf7-form-control:only-child#email_conf, .wpcf7-form-control:only-child#contact_content, .wpcf7-form-control:only-child#agree {
    outline: 3px solid #e7e7e7;
    background-color: #ffffff;
} 
.wpcf7-form-control:only-child#contact-item:focus, .wpcf7-form-control:only-child#name:focus, .wpcf7-form-control:only-child#kana:focus, .wpcf7-form-control:only-child#email:focus, .wpcf7-form-control:only-child#email_conf:focus, .wpcf7-form-control:only-child#contact_content:focus, .wpcf7-form-control:only-child#agree:focus {
    outline: 3px solid #8be0fa;
}
.wpcf7-form-control.wpcf7-not-valid#contact-item {
    outline: 3px solid #ff0000;
    background-color: #fcf0f0;
}

/* ヒーローイメージタイピングライターエフェクト */

.writings::after {
    content: "|";
    animation-name: blink;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}
.writings.end_text::after {
    display: none;
}
@keyframes blink {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* お問合せにおける個人情報の取扱いページ */
.contact_policy .ttl h2 {
    font-size: 1.6em;
    color: #0071BB;
}
.contact_policy .policy {
    width: 100%;
    height: 100%;
}
.contact_policy .policy img {
    width: 100%;
    height: 100%;
}
.contact_policy .content_wrapper {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    padding-top: 50px;
}
.contact_policy .content_wrapper .content {
    width: 82.5%;
    margin: 0 auto;
    margin-top: 20px;
    margin-bottom: 30px;
}

/* お問合せの確認画面 */
.confirm_page .contact_all {
    margin-bottom: 25px;
}
.confirm_page .mrl_confirm .contact-flex {
    display: initial;
}
.confirm_page .mrl_confirm {
    text-align: left;
}
.confirm_page .mrl_confirm .column {
    margin-top: 10px;
}
.confirm_page .mrl_confirm .column p {
    font-size: 1.3em;
    letter-spacing: 0.05em;
    line-height: 1.3em;
    font-weight: bold;
}
.confirm_page .mrl_confirm .contact-box {
    margin-top: 5px;
}
.confirm_page .mrl_confirm .contact-box p {
    font-size: 1.1em;
    letter-spacing: 0.05em;
    line-height: 1.3em;
    font-weight: 400;
    margin-left: 10px;
}
.confirm_page .mrl_confirm .contact-flex .blue, .confirm_page .mrl_confirm .contact-flex .gray {
    display: inline-block;
}
.confirm_page .mrl_confirm .button {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-top: 30px;
}
.confirm_page .mrl_confirm .button .prev {
    width: 30%;
    text-align: center;
}
.confirm_page .mrl_confirm .button .prev input:hover {
    background-color: rgb(228, 92, 92);
    color: #ffffff;
    transition: all 0.5s;
    cursor: pointer;
}
.confirm_page .mrl_confirm .button .send {
    width: 30%;
    text-align: center;
}
/* .confirm_page .mrl_confirm .button .send input:hover {
    background-color: #2e83f3;
    color: #ffffff;
    transition: all 0.5s;
    cursor: pointer;
} */
.confirm_page .mrl_confirm .button p > input {
    width: 100%;
    font-weight: 600;
    font-size: 1em;
    border-radius: 5px;
    letter-spacing: 0.1em;
    -webkit-appearance: none;
    appearance: none;
    color: #000000;
    text-align: center;
    border: none;
    padding: 8px 20px;
    outline: 3px solid #e7e7e7;
    background-color: #ffffff;
}

/* お問合せ完了ページ */
.complete .thanks_page {
    background-color: #ebfdfd;
    width: 100%;
    padding-top: 50px;
    padding-bottom: 70px;
    margin: 0 auto;
}
.complete .contents_info_wrapper {
    width: 90%;
    margin: 0 auto;
    max-width: 1100px;
}
.complete .contents_info_wrapper .content {
    width: 80%;
    margin: 0 auto;
    margin-top: 80px;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 50px;
}
.complete .contents_info_wrapper .content h3 {
    font-size: 1.4em;
    padding: 10px 0;
}
.complete .contents_info_wrapper .content .text_2 {
    margin-top: 30px;
}
.complete .contents_info_wrapper .content p {
    font-size: 1.1em;
    letter-spacing: 0.05em;
    line-height: 1.3em;
}