/*
Theme Name: AdvanceFrontFlowred
Version: 1.0
*/

/**/

html{
    height:100%;
    scroll-padding-top: 100px;
}

body {
    background-color: rgba(246, 244, 244, 1);
    margin:0px;
    font-family: "Noto Sans JP", sans-serif;
    height:100%;
}

a{
    color:rgba(14, 8, 8, 1);
    text-decoration: none;
}

/* スマホ用コンテンツの非表示設定 */
@media screen and (min-width: 821px) {
    .sp {
        display: none!important;
    }
}

/* PC用コンテンツの非表示設定 */
@media screen and (max-width: 820px) {
    .pc {
        display: none!important;
    }
}

.post-password-form{
    margin:100px 0px;
}

/* ヘッダー */
#header {
    position: fixed;
    z-index: 9999;
    top: 0;
    max-height: 100px;
    width: 100%;
}

#header .header_content {
    background-color: rgba(14, 8, 8, 0.5);
    display: flex;
    height: 100px;
    width: 100%;
}

#header .header_content .logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 40px;
}

#header .header_content .logo .title{
    color: rgba(246, 244, 244, 1);
    font-weight: 900;
}

/* PC用 */
@media screen and (min-width: 821px) {

    #header .header_content .logo .title{
        font-size: 24px;
    }

    #header .header_content .logo a {
        margin: 0 10px;
    }

    #header .header_content .logo a img {
        height: 50px;
    }

    #header .header_content .nav_menu {
        width: 100%;
    }

    #header .header_content #navi {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        margin: 0 20% 0 5%;
        height: 100%;
    }

    #header .header_content #navi .menu {
        padding-left: 0;
        text-align: left;
        width: 80%;
        display: flex;
        margin:0px;
        height:100%;
        /* gap:50px; */
    }

    #header .header_content #navi .menu li {
        display: flex;
        justify-content: center;
        align-items: center;
        list-style: none;
        position: relative;
    }

    #header .header_content #navi .menu li a {
        text-decoration: none;
        font-weight: 700;
        color: rgba(246, 244, 244, 1);
        font-size: 20px;
        width:100%;
        height:100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding:0px 50px;
    }

    #header .header_content #navi .menu li .sub-menu {
        opacity: 0;
        padding:0px;
        position:absolute;
        margin-left:-120px;
        width:240px;
        top:100%;
        left:50%;
        background-color: rgba(14, 8, 8, 0.5);
    }

    #header .header_content #navi .menu li:hover .sub-menu {
        transition: 0.3s;
        opacity: 1;
    }

    #header .header_content #navi .menu li:hover .sub-menu li{
        width:100%;
        text-align: center;
        margin:15px 0px;
        box-sizing: border-box;
        flex-direction: column;
    }

    #header .header_content #navi .menu li:hover .sub-menu li::after{
        content: "";
        background-color: rgba(246, 244, 244, 1);
        width:100px;
        height:1px;
        margin:5px 0px;
    }
    
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    #header {
        max-height:80px;
     }
     
     #header .header_content {
        height:80px;
     }

     #header .header_content .logo{
        margin:0px 10px;
     }

     #header .header_content .logo .title{
        font-size:14px;
        margin: 0 5px;
    }

    #header .header_content .logo a {
        margin: 0 5px;
    }

    #header .header_content .logo a img {
        height: 40px;
    }

    #header .nav_button {
        position: absolute;
        z-index: 10;
        top: 50%;
        right: 1rem;
        display: block;
        cursor: pointer;
        transform: translateY(-50%);
        border: 0;
        background-color: transparent;
    }

    #header .nav_button:focus {
        outline: 0;
    }

    #header .nav_button::after {
        font-family: "Material Symbols Outlined";
        font-size: 2.5rem;
        content: "\e5d2";
        color: rgba(246, 244, 244, 1);
    }

    #header .menu-active .nav_button::after {
        content: "\e5cd";
        color: rgba(246, 244, 244, 1);
    }

    #header .nav_menu {
        position: fixed;
        z-index: 9;
        top: 0;
        left: 0;
        display: none;
        overflow-y: auto;
        width: 100%;
        background-color: rgba(14, 8, 8, 0.5);
    }

    #header .nav_menu .nav {
        margin: 0px !important;
    }

    #header .nav_menu .nav .menu {
        width: 80%;
        display: flex;
        flex-direction: column;
        padding-top: 50px;
        list-style-type:none;
    }

    #header .nav li {
        margin: 20px 30px !important;
        border-bottom: solid 2px rgba(246, 244, 244, 1);
        text-align: left;
    }

    #header .nav li a {
        display: block;
        width: 100%;
        font-size: 24px;
        font-weight: 600;
        text-align: left;
        color: rgba(246, 244, 244, 1);
        text-decoration: none;

    }

    #header .header_content #navi .menu li .sub-menu {
        display: none;
        padding-left: 10px;
    }

     #header .header_content #navi .menu li .sub-menu li{
        margin: 20px!important;
    }

    #header .header_content #navi .menu li .sub-menu li a{
       font-size: 20px;
    }

    #header .header_content #navi .menu li:has(.sub-menu){
        position: relative;
    }

    #header .header_content #navi .menu li:has(.sub-menu) a{
        width:80%;
    }

    #header .header_content #navi .menu li:has(.sub-menu)::after{
        content:"";
        position: absolute;
        width:10px;
        height:10px;
        border-top: 2px solid rgba(246, 244, 244, 1);
        border-right: 2px solid rgba(246, 244, 244, 1);
        transform:translate(32px, -5px) rotate(135deg);
        transition: 0.3s ease-in-out;
        right:30px;
        top:15px;
    }

    #header .header_content #navi .menu li.active:has(.sub-menu)::after{
        transform:translate(32px, -2px) rotate(-45deg);
        transition: 0.3s ease-in-out;
    }

}

/* ヘッダー終了 */

/* フッター */
#footer {
    background-color: rgba(14, 8, 8, 1);
    min-height: 480px;
    width: 100%;
    padding: 30px;
    box-sizing: border-box;
}

#footer .footer_content .title {
    padding: 0 40px;
    color: rgba(219, 35, 35, 1);
    font-family: "League Gothic", sans-serif;
    font-size: 96px;
}

#footer .footer_content .wrap {
    display: flex;
    justify-content: space-between;
}

#footer .footer_content .wrap .sitemap {
    display: flex;
    flex-flow: column wrap;
    height: 300px;
    width: 40%;
    margin: 0px;
}

#footer .footer_content .wrap .sitemap li {
    font-family: "Noto Sans JP", sans-serif;
    list-style: none;
    font-weight: 600;
    font-size: 24px;
    margin: 10px 20px;
}

#footer .footer_content .wrap .sitemap li a{
    color: rgba(246, 244, 244, 1);
}

#footer .footer_content .wrap .sitemap li a {
    text-decoration: none;
}

#footer .footer_content .wrap .company {
    color: rgba(207, 206, 206, 1);
    font-size: 24px;
    font-weight: 500;
    width: 50%;
}

#footer .footer_content .wrap .company a {
    color: rgba(207, 206, 206, 1);
    text-decoration: none;
}

#footer .footer_content .breadcrumbs .aioseo-breadcrumbs .aioseo-breadcrumb,
#footer .footer_content .breadcrumbs .aioseo-breadcrumbs .aioseo-breadcrumb a,
#footer .footer_content .breadcrumbs .aioseo-breadcrumbs .aioseo-breadcrumb-separator{
     color: rgba(207, 206, 206, 1);
}

/* PC用 */
@media screen and (min-width: 821px) {
    #footer .footer_content .breadcrumbs{
        padding-left:40px;
    }
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    #footer .footer_content .title {
        font-size: 40px;
        padding:0px;
    }

    #footer .footer_content .wrap {
        display: flex;
        flex-direction: column;
    }

    #footer .footer_content .wrap .sitemap {
        display: flex;
        flex-flow: column wrap;
        height: 250px;
        width: 100%;
        margin: 0px;
        padding: 0px;
    }

    #footer .footer_content .wrap .sitemap ul{
        padding:0px;
    }

    #footer .footer_content .wrap .sitemap li {
        font-size: 14px;
        margin: 10px 10px;
        box-sizing: border-box;
        max-width:90px;
    }

    #footer .footer_content .wrap .company {
        width: 100%;
        font-size: 16px;
    }
}

/* フッター終了 */

/* TOPページ */

.top_content{
    width:100%;
}

.top_content .cover{
    display: flex;
    height: 100vh;
    background-image: url("img/header_background.png");
    background-size: cover;
}

.top_content .cover .left{
    width:45%;
    display: flex;
    align-items: center;
}

.top_content .cover .right{
    width:55%;
    display: flex;
    align-items: center;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .top_content .cover{
        background-image: url("img/header_background_sp.png");
        display: block;
    }

    .top_content .cover .left{
        width:100%;
    }

    .top_content .cover .right{
        display: none;
    }
}

.top_content .cover .left .top,
.top_content .cover .left .bottom,
.top_content .cover .right
{
    /* animation: fadeIn 0.7s ease-in-out forwards; */
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* 左中央テキスト */
.top_content .cover .left .center{
    padding:50px;
    box-sizing: border-box;
    width:100%;
}

.top_content .cover .left .center .text{
    color:rgba(246, 244, 244, 1);
}

.top_content .cover .left .center .subtitle{
    font-size: 32px;
    font-family: "Archivo Black", sans-serif;
    line-height: 1;
}

.top_content .cover .left .center .title{
    font-size: 48px;
    font-weight: 900;
    line-height: 1.1;
}

.top_content .cover .left .center .catchphrase{
    font-size: 28px;
    font-weight: 700;
    margin-top:50px;
    padding-bottom:30px;
    border-bottom: solid 1px rgba(246, 244, 244, 1);
}

.top_content .cover .left .center .button_red{
    margin:20px 0px;
    justify-content: start;
}

.top_content .cover .left .center .button_red a{
    height:56px;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .top_content .cover .left .center{
    padding:100px 20px 20px 20px;
    box-sizing: border-box;
    width:100%;
    }

    .top_content .cover .left .center .subtitle{
        font-size: 24px;
    }

    .top_content .cover .left .center .title{
        font-size: 40px;
        width:100%;
    }

    .top_content .cover .left .center .catchphrase{
        margin-top:20px;
        font-size: 16px;
    }
    
    .top_content .cover .left .center .button_red a{
        width:180px;
        font-size:18px;
    }
}

.top_content .cover .right .center{
    /* height:65%; */
    aspect-ratio: 5 / 4;
    width:100%;
    position:relative;
    margin:50px 100px;
}

.top_content .cover .right .center .text{
    color:rgba(246, 244, 244, 1);
    font-size: 14px;
    font-weight: 500;
    width:100%;
    margin-bottom: 3px;
}

.top_content .cover .right .center img{
    width: 100%;
    height: 100%;
}

.top_content .cover .right .center .upper_left{
    position:absolute;
    top:0px;
    left:0px;
    width:25%;
}

.top_content .cover .right .center .upper_right{
    position:absolute;
    top:0px;
    right:0px;
    width:75%;
}

.top_content .cover .right .center .bottom_left{
    position:absolute;
    bottom:0px;
    left:0px;
    width:65%;
}

.top_content .cover .right .center .bottom_right{
    position:absolute;
    bottom:0px;
    right:0px;
    width:35%;
}

.top_content .cover .right .center .upper_left .text{
    
}

.top_content .cover .right .center .upper_right .text{
   text-align: end;
}

.top_content .cover .right .center .bottom_left .text{
    width:70%;
    text-align: end;
}

.top_content .cover .right .center .bottom_right .text{
    text-align: end;
}

.top_content .cover .sp.img{
    width:100%;
    padding:20px;
    box-sizing: border-box;
}

.top_content .cover .sp.img .text{
    width:100%;
    text-align: end;
    color:rgba(246, 244, 244, 1);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 3px;
}

.top_content .scroll {
    text-align: center;
    font-family: "League Gothic", sans-serif;
    position:absolute;
    padding:20px 0px;
    font-size: 36px;
    font-weight: 500;
    z-index: 1;
}

@media screen and (max-width: 820px) {
    .top_content .scroll {
        font-size:20px;
    }
}

@keyframes fluffy_down {
  0%, 100% {
    transform: translateY(0);
  }
  70% {
    transform: translateY(-5px);
  }
}

@keyframes fluffy_up {
  0%, 100% {
    transform: translateY(0);
  }
  70% {
    transform: translateY(5px);
  }
}

.top_content .cover .scroll {
    top:90%;
    left:48%;
    color:rgba(246, 244, 244, 1);
    text-shadow:0 0 20px rgba(14, 8, 8, 1);
    animation: fluffy_down 2s infinite;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .top_content .cover .scroll {
    /* color:rgba(246, 244, 244, 1);
    text-shadow:0 0 0px rgba(14, 8, 8, 1);
    left:45%;
    top:75%; */
    display: none;
}
}

.top_content .features{
    height: 70vh;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .top_content .features{
    height: 260px;
}
}

.top_content .slider{
    scroll-snap-type: y mandatory;
    position: relative;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.top_content .slider .feature{
    scroll-snap-align: start;
    list-style-type: none;
    height: 100%;
    width: 100%;
    position:relative;
}

.top_content .slider .feature p{
    position:absolute;
    top:0;
    left:2%;
    color:rgba(14, 8, 8, 1);
    background-color: rgba(246, 244, 244, 0.9);
    padding:20px;
    font-size: 36px;
    font-weight: 700;
}

.top_content .slider .feature .click{
    position:absolute;
    top:80%;
    right:2%;
    color:rgba(14, 8, 8, 1);
    background-color: rgba(246, 244, 244, 0.9);
    padding:20px;
    font-size: 36px;
    font-weight: 700;
}

.top_content .slider .feature .scroll {
    color:rgba(62, 57, 57, 1);
    left:48%;
}

.top_content .slider .feature .scroll.down {
   top:80%;
   animation: fluffy_down 2s infinite;
}

.top_content .slider .feature .scroll.up {
   top:0%;
   animation: fluffy_up 2s infinite;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .top_content .slider .feature p{
        font-size: 20px;
        padding:10px;
    }

    .top_content .slider .feature .click{
    font-size: 20px;
}

.top_content .slider .feature .scroll {
    left:48%;
    padding:10px 0px;
    font-size: 20px;
}

.top_content .slider .feature .scroll.down {
    top:80%;
}

.top_content .slider .feature .scroll.up {
    top:0%;
}
}

.top_content .slider .feature .img{
    height: 100%;
    width: 100%;
}

.top_content .slider .feature .img img{
    height: 100%;
    width: 100%;
    object-fit:cover;
}

.top_content .slider::-webkit-scrollbar{
  display:none;
}

.top_content .news,
.top_content .about,
.top_content .movie,
.top_content .service{
    margin:50px auto;
    max-width: 1000px;
}

.top_content .heading{
    font-family: "League Gothic", sans-serif;
    color:rgba(14, 8, 8, 1);
    border-bottom: solid 2px rgba(207, 206, 206, 1);
    font-size: 64px;
    padding:0px 20px;
}

 .news ul{
    padding:0px;
}

 .news ul li{
    list-style-type: none;
    margin:20px 0px;
}

 .news ul li a .news_child{
    background-color: rgba(255, 255, 255, 1);
    min-height:135px;
    display: flex;
    align-items: center;
    transition: 0.3s ease-in-out;
}

 .news ul li a .news_child .sp_wrap{
    display: flex;
    align-items: center;
    width:85%;
}

 .news ul li a .news_child .date{
    width:20%;
    text-align: center;
    color: rgba(62, 57, 57, 1);
    font-size: 24px;
    font-weight: 700;
    transition: 0.3s ease-in-out;
}

 .news ul li a .news_child .title{
    width:80%;
    font-size: 32px;
    font-weight: 700;
    padding:20px 0px;
    transition: 0.3s ease-in-out;
    background-color: transparent;
    display: block;
    text-align: start;
}

 .news ul li a .news_child .arrow{
    width:15%;
    font-size: 32px;
    font-weight: 700;
    color: rgba(192, 0, 0, 1);
    text-align: center;
}

 .news ul li a .news_child:hover{
    background-color: rgba(14, 8, 8, 1);
}

 .news ul li a .news_child:hover .title{
    color:rgba(255, 255, 255, 1);
}

 .news ul li a .news_child:hover .date{
    color:rgba(207, 206, 206, 1);
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .top_content .news,
    .top_content .about,
    .top_content .movie,
    .top_content .service{
        margin:50px 20px;
    }

    .top_content .heading{
        font-size: 32px;
        padding:0px 20px;
    }

     .news ul li a .news_child{
        min-height:70px;
        padding:20px;
    }

    .news ul li a .news_child .sp_wrap{
        display: block;
    }

    .news ul li a .news_child .date{
        width:100%;
        text-align: left;
        font-size: 14px;
        font-weight: 700;
    }

    .news ul li a .news_child .title{
        width:100%;
        text-align: left;
        font-size: 16px;
        padding:10px 0px;
    }

    .news ul li a .news_child .arrow{
    font-size: 24px;
}
}

.top_content .about p,
.top_content .about ul,
.top_content .service p{
    font-size:20px;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .top_content .about p,
    .top_content .about ul,
    .top_content .service p{
    font-size:16px;
    }
}

.top_content .about .features_list{
    margin-top:40px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap:40px 20px;
    padding:0px;
}

.top_content .about .features_list li{
    list-style-type: none;
    border: solid 3px rgba(207, 206, 206, 1);
    width:300px;
    height:140px;
    border-radius: 20px;
    display: table;
    position: relative;
    margin-top:10px;
}

.top_content .about .features_list li:hover{
    border: solid 3px rgba(192, 0, 0, 1);
    transition: 0.3s ease-in-out;
}

.top_content .about .features_list li a{
    width:100%;
    height:100%;
    display: table;
    position: relative;
}

.top_content .about .features_list li .number{
    position: absolute;
    top:0;
    left:0;
    font-family: "League Gothic", sans-serif;
    font-size:64px;
    color:rgba(192, 0, 0, 1);
    transform: translateY(-50%) translateX(50%);
    background-color: rgba(246, 244, 244, 1);
}

.top_content .about .features_list li .text{
    margin:auto;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
}

/* スマホ用 */
@media screen and (max-width: 820px) {

    .top_content .about .features_list{
    gap:20px;
}

    .top_content .about .features_list li{
    height:70px;
}

.top_content .about .features_list li .number{
    font-size:40px;
}

.top_content .about .features_list li .text{
    font-size: 20px;
}
}

.top_content .about .button_group{
    margin-top:60px;
    display: flex;
    padding:0px;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .top_content .about .button_group{
   flex-direction: column;
   gap:20px;
}
}

.top_content .movies{
    display: flex;
    padding:0px;
    justify-content: space-between;
    list-style-type: none;
}

.top_content .movies li{
    width:100%;
    height:300px;
    text-align: center;
}

.top_content .movies li iframe{
   width:90%;
   height:100%;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .top_content .movies{
        flex-direction: column;
        gap:20px;
    }

    .top_content .movies li{
    height:200px;
}
}

.top_content .service .img{
   width: 100%;
   text-align: center;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .top_content .service .img img{
   width: 100%;
}
}


/* TOPページ終了 */

/* カスタムページ */
.custom_main {
    background-color: rgba(246, 244, 244, 1);
}

.custom_main .title {
    /* background-image: url("img/header_background.png");
    background-size: cover; */
    background-color: rgba(14, 8, 8, 1);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 100px 80px;
}

.custom_main .title .ja {
    font-size: 80px;
    font-weight: 800;
    color: rgba(246, 244, 244, 1);
    margin: 0 auto;
    line-height: 80px;
}

.custom_main .title .en {
    font-size: 32px;
    font-weight: 500;
    color: rgba(207, 206, 206, 1);
    margin: 0 auto;
    padding-top:20px;
    letter-spacing: 0.05em;
}

.custom_main .content {
    margin: 0 auto;
    max-width: 800px;
    padding: 0px 30px 80px 30px;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .custom_main .title {
        padding: 120px 20px 80px 20px;
        /* background-image: url("img/header_background_sp.png");
        background-position:center; */
    }

    .custom_main .title div{
        width:100%;
    }


    .custom_main .title .ja {
        font-size: 36px;
        line-height: 1em;
        overflow-wrap: break-word;
    }

    .custom_main .title .en {
        font-size: 20px;
        padding-top:10px;
    }

    .custom_main .content {
        max-width: 90%;
    }
}

.custom_main .heading_black,
.post h2,
.custom_content h2 {
    width: 100%;
    background-color: rgba(14, 8, 8, 1);
    color: rgba(246, 244, 244, 1);
    font-size: 28px;
    font-weight: 700;
    min-height: 80px;
    margin-top: 60px;
    padding: 10px 50px 10px 30px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    border-left: 20px solid rgba(192, 0, 0, 1);
}

.custom_main .heading_gray,
.post h3,
.custom_content h3 {
    width: 100%;
    background-color: rgba(207, 206, 206, 1);
    color: rgba(14, 8, 8, 1);
    font-size: 28px;
    font-weight: 700;
    min-height: 80px;
    padding: 10px 50px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.custom_main .heading_line,
.post h4,
.custom_content h4 {
    width: 100%;
    color: rgba(14, 8, 8, 1);
    font-size: 24px;
    font-weight: 600;
    min-height: 80px;
    padding: 10px 50px;
    display: flex;
    justify-content: center;
    flex-flow: column;
    box-sizing: border-box;
    border-bottom: 2px solid rgba(192, 0, 0, 1);
    position: relative;
}

.custom_main .content .heading_line::after,
 .post h4::after,
.custom_content h4::after{
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 70%;
    height: 2px;
    background-color: rgba(14, 8, 8, 1);
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .custom_main .heading_black,
    .post h2,
    .custom_content h2 {
        font-size: 20px;
        min-height: 60px;
        padding: 10px 30px 10px 20px;
        border-left: 10px solid rgba(192, 0, 0, 1);
    }

    .custom_main .heading_gray,
    .post h3,
    .custom_content h3 {
        font-size: 20px;
        min-height: 60px;
        padding: 10px 30px;
    }

    .custom_main .heading_line,
    .post h4,
    .custom_content h4{
        font-size: 18px;
        min-height: 60px;
        padding: 10px 30px;
    }
}

.custom_main .content p {
    font-size: 18px;
    font-weight: 400;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .custom_main .content p {
        font-size: 16px;
    }
}

/* カスタムページ終了 */

/* テンプレ */
.button_black {
    margin: 0 auto;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.button_black a {
    color: rgba(246, 244, 244, 1);
    background-color: rgba(14, 8, 8, 1);
    border-radius: 20px;
    width: 300px;
    height: 80px;
    font-size: 24px;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-around;
    transition: 0.3s ease-in-out;
}

.button_black a:hover {
    background-color: rgba(192, 0, 0, 1);
}

.button_red {
    margin: 0 auto;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: space-around;
}

.button_red a {
    color: rgba(246, 244, 244, 1);
    background-color: rgba(192, 0, 0, 1);
    border-radius: 20px;
    width: 300px;
    height: 80px;
    font-size: 24px;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-around;
    transition: 0.3s ease-in-out;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .button_black a ,
    .button_red a{
        width: 275px;
        height: 60px;
        font-size: 24px;
        font-weight: 700;
    }
}

.category_gray {
    color: rgba(14, 8, 8, 1);
    border-radius: 20px;
    border: solid 3px rgba(207, 206, 206, 1);
    /* outline-offset: 3px; */
    width: 250px;
    height: 80px;
    font-size: 24px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: space-around;
    text-decoration: none;
    transition: 0.3s ease-in-out;
}

a[href=""].category_gray {
    pointer-events: none;
}

a.category_gray:hover {
    /* outline-color: rgba(192, 0, 0, 1); */
    border-color: rgba(192, 0, 0, 1);
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .category_gray {
        width:150px;
        height:65px;
        font-size: 18px;
    }
}

.card_group {
    display: flex;
    justify-content: space-around;
    padding: 0px;
}

.card_group li {
    width: 30%;
    height: auto;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0px 10px 20px -12px rgba(14, 8, 8, 0.3);
    list-style-type: none;
}

.card_group li a {
    text-decoration: none;
}

.card_group li a .card_img {
    width: 100%;
    height: 250px;
    display: flex;
    position: relative;
}

.card_group li a .card_img img {
    width: 100%;
    position: absolute;
    height: 100%;
    object-fit: cover;
}

.card_group li a .card_text {
    padding: 20px;
    word-break: break-all;
}

.card_group li a .card_text .card_title {
    font-size: 24px;
    font-weight: 700;
}

.card_group li a .card_text .card_description {
    font-size: 18px;
    font-weight: 300;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .card_group {
        flex-direction: column;
    }

    .card_group li {
        width: 100%;
        margin:20px 0px;
    }

    .card_group li a .card_img{
        height:150px;
    }
}

.custom_main .red {
    color: rgba(192, 0, 0, 1);
}

.document_card {
    width: 100%;
    margin: 30px 0px;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0px 10px 20px -12px rgba(14, 8, 8, 0.3);
    display: flex;
}

.document_card .card_img {
    width: 30%;
    display: flex;
    position: relative;
}

.document_card .card_img img {
    width: 100%;
    position: absolute;
    height: 100%;
    object-fit: cover;
}

.document_card .wrap {
    width: 70%;
    height: 100%;
    margin: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.document_card .card_text {
    padding-bottom: 20px;
}

.document_card .card_text .card_title {
    font-size: 28px;
    font-weight: 700;
    height: 100px;
    display: flex;
    align-items: center;
}

.document_card .card_description {
    font-size: 20px;
}

.document_card .card_button_group {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.document_card .button_black a,
.document_card .button_red a,
.magazine_card .button_red a, 
.case_card .button_black a{
    height: 50px;
    width:250px;
    font-size: 24px;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .document_card {
        flex-direction: column;
    }

    .document_card .card_img {
        width: 100%;
    }

    .document_card .card_img img {
        position: relative;
        height: 200px;
    }

    .document_card .wrap {
        width: 100%;
        margin:0px;
        padding:20px;
        box-sizing: border-box;
    }

    .document_card .card_text {
        width:100%;
        padding-bottom:0px;
    }

    .document_card .card_text .card_title {
        font-size: 20px;
        width:100%;
        height:auto;
    }

    .document_card .card_description {
        width:100%;
    }

    .document_card .card_description p{
        font-size: 16px;
    }

    .document_card .card_button_group {
        flex-direction: column;
    }

    .document_card .button_black,
    .document_card .button_red,
    .magazine_card .button_red,
    .case_card .button_black {
        max-width:100%;
        margin:0px;
        padding:10px 0px;
    }

    .document_card .button_black a,
    .document_card .button_red a,
    .magazine_card .button_red a,
    .case_card .button_black a{
        font-size: 20px;
    }
}

.magazine_card {
    width: 100%;
    margin: 30px 0px;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0px 10px 20px -12px rgba(14, 8, 8, 0.3);
}

.magazine_card .wrap {
    height: 100%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.magazine_card .card_title {
    font-size: 28px;
    font-weight: 700;
    color: rgba(14, 8, 8, 1);
    margin: 20px 0px;
}

.magazine_card .card_info p{
    font-size: 20px;
    font-weight: 500;
}

.magazine_card .card_info .date {
    color: rgba(62, 57, 57, 1);
}

.magazine_card .card_info .author {
    color: rgba(38, 33, 33, 1);
}

.magazine_card .card_info .affiliation {
    color: rgba(38, 33, 33, 1);
    font-size: 18px;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .magazine_card .card_title {
        font-size: 20px;
    }

    .magazine_card .card_info p{
        font-size: 16px;
    }

    .magazine_card .card_info .affiliation {
        font-size: 12px;
    }
}

.case_card{
    width: 100%;
    margin: 30px 0px;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0px 10px 20px -12px rgba(14, 8, 8, 0.3);
    display: flex;
}

.case_card .card_img {
    width: 30%;
    display: flex;
    position: relative;
}

.case_card .card_img img {
    width: 100%;
    position: absolute;
    height: 100%;
    object-fit: cover;
}

.case_card .wrap {
    width: 70%;
    height: 100%;
    margin: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.case_card .card_text {
    padding-bottom: 20px;
}

.case_card .card_text .card_title {
    font-size: 28px;
    font-weight: 700;
    height: 100px;
    display: flex;
    align-items: center;
}

.case_card .card_text .card_category {
    color:rgba(62, 57, 57, 1);
}

.case_card .card_description {
    font-size: 20px;
}

.case_card .card_button_group {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .case_card {
        flex-direction: column;
    }

    .case_card .card_img {
        width: 100%;
    }

    .case_card .card_img img {
        position: relative;
        height: 200px;
    }

    .case_card .wrap {
        width: 100%;
        margin:0px;
        padding:20px;
        box-sizing: border-box;
    }

    .case_card .card_text {
        width:100%;
        padding-bottom:0px;
    }

    .case_card .card_text .card_title {
        font-size: 20px;
        width:100%;
        height:auto;
    }

    .case_card .card_description {
        width:100%;
    }

    .case_card .card_description p{
        font-size: 16px;
    }
}

.custom_main .section_title {
    text-align: center;
    border-bottom: 2px solid rgba(207, 206, 206, 1);
    font-size: 42px;
    font-weight: 700;
}

@media screen and (max-width: 820px) {
    .custom_main .section_title {
        font-size: 24px;
        overflow-wrap: break-word;
    }
}

.post .toc{
    margin-top:40px;
    padding:20px 30px;
    border: solid 3px rgba(207, 206, 206, 1);
    color:rgba(14, 8, 8, 1);
}

.post .toc p{
    font-size:24px;
    font-weight: 700;
    margin:0px;
}

.post .toc ul li{
    padding-top:5px;
    font-size:20px;
}

.post .toc ul li a{
    color:rgba(14, 8, 8, 1);
}

.post .toc .h3 li{
    color:rgba(62, 57, 57, 1);
    font-weight: 400;
    font-size:18px;
}

@media screen and (max-width: 820px) {

    .post .toc{
    padding:10px 20px;
    }

    .post .toc p{
    font-size:20px;
    }

    .post .toc ul li{
        font-size:16px;
    }

    .post .toc .h3 li{
        font-size:14px;
    }
}

/* テンプレ終了 */

/* 商品ページ */
.product_content section {
    padding: 40px 0px;
}

.product_content p.red {
    background-color: transparent;
    color: rgba(192, 0, 0, 1);
    font-size: 42px;
    font-weight: 700;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .product_content p.red {
        font-size: 24px;
    }
}

/* 商品ページ終了 */

/* 商品詳細ページ */
.product_info_content .table_of_contents {
    padding: 0px;
}

.product_info_content .table_of_contents li {
    color: rgba(246, 244, 244, 1);
    background-color: rgba(14, 8, 8, 1);
    height: 80px;
    padding: 0px 40px;
    margin: 10px 0px;
}

.product_info_content .table_of_contents li a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
}

.product_info_content .table_of_contents li a div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.product_info_content .table_of_contents li a .number {
    color: rgba(246, 244, 244, 1);
    font-family: "League Gothic", sans-serif;
    font-size: 48px;
    padding: 0px 10px;
}

.product_info_content .table_of_contents li a .heading {
    color: rgba(246, 244, 244, 1);
    font-size: 24px;
    font-weight: 700;
    padding: 0px 40px;
}

.product_info_content .table_of_contents li a .red {
    font-size: 24px;
}

.product_info_content .table_of_contents li:hover {
    background-color: rgba(192, 0, 0, 1);
    transition: 0.3s ease-in-out;
}

.product_info_content .table_of_contents li:hover a .red {
    color:rgba(246, 244, 244, 1);
    transition: 0.3s ease-in-out;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .product_info_content .table_of_contents li {
        min-height: 80px;
        padding: 0px 15px;
        margin: 10px 0px;
    }

    .product_info_content .table_of_contents li a .number {
        font-size: 36px;
    }

    .product_info_content .table_of_contents li a .heading {
        font-size: 18px;
        padding:0px 10px;
    }

    .product_info_content .table_of_contents li a .red {
        font-size: 20px;
    }
}

.product_info_content section {
    padding: 30px 0px;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .product_info_content section {
    padding: 10px 0px;
}
}

.product_info_content section .section_heading {
    display: flex;
    align-items: center;
    padding: 0px 30px;
    background: linear-gradient(transparent 70%, rgba(207, 206, 206, 1) 50%);
    background-repeat: no-repeat;
}

.product_info_content section .section_heading .number {
    font-family: "League Gothic", sans-serif;
    font-size: 56px;
    padding: 10px 10px 0px 10px;
}

.product_info_content section .section_heading .heading {
    font-size: 32px;
    padding: 10px 0px 0px 20px;
    font-weight: 700;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .product_info_content section .section_heading {
        padding:0px;
    }

    .product_info_content section .section_heading .number {
        font-size: 36px;
        padding:0px 10px;
    }
    
    .product_info_content section .section_heading .heading {
        font-size: 20px;
        padding:0px;
    }
}

.product_info_content section .service_group {
    display: flex;
    justify-content: space-around;
    padding: 0px;
    list-style-type: none;
    margin: 60px 0px;
}

.product_info_content section .service_group li {
    text-align: center;
    width: 100%;
    padding: 0px 10px;
}

.product_info_content section .service_group .service_name {
    background-color: rgba(207, 206, 206, 1);
    border-radius: 20px;
    padding: 20px 0px;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
    width: 100%;
}

.product_info_content section .service_group .icon {
    margin: 20px 0px;
}

.product_info_content section .service_group .icon img {
    width: 120px;
    height: 120px;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .product_info_content section .service_group {
        flex-direction: column;
        margin:30px 0px;
    }

    .product_info_content section .service_group li{
        padding:20px 0px;
    }

    .product_info_content section .service_group .service_name {
        font-size: 20px;
    }

    .product_info_content section .service_group .icon img {
        width: 80px;
        height: 80px;
    }
}

.product_info_content section .img {
    margin: 20px 0px;
    width: 100%;
    text-align: center;
}

.product_info_content section .img img {
    max-width: 100%;
}

.product_info_content section .service_group .img img {
    height: 200px;
}

.product_info_content section .service_group .detail {
    text-align: left;
    width: 100%;
}

.product_info_content section table {
    border-collapse: collapse;
    border-spacing: 0;
    border: solid 2px rgba(207, 206, 206, 1);
    width: 100%;
}

.product_info_content section table th {
    background-color: rgba(62, 57, 57, 1);
    color: rgba(246, 244, 244, 1);
    padding: 10px;
    border-collapse: collapse;
    border-spacing: 0;
    border: solid 2px rgba(207, 206, 206, 1);
}

.product_info_content section table td {
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
    border: solid 2px rgba(207, 206, 206, 1);
    font-weight: 400;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .product_info_content section table th,
    .product_info_content section table td{
        font-size: 14px;
    }
}

.product_info_content section .section_title {
    font-size: 32px;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .product_info_content section .section_title {
        font-size: 20px;
    }
}

.product_info_content section .solve_content {
    padding: 20px 0px 40px 0px;
}

.product_info_content section .solve_content table td {
    display: flex;
    align-items: center;
    padding: 20px 30px;
}

.product_info_content section .solve_content table .icon {
    width: 5%;
}

.product_info_content section .solve_content table .icon img {
    max-width: 40px;
    max-height: 40px;
}

.product_info_content section .solve_content table .text {
    padding: 0px 20px;
    width: 95%;
    text-align: left;
    font-size: 18px;
}

.product_info_content section .solve_content table .text b {
    font-weight: 600;
}

.product_info_content section .solve_content .red {
    font-size: 38px;
    text-align: center;
    font-weight: 900;
}

@media screen and (max-width: 820px) {
    .product_info_content section .solve_content table td {
        padding: 10px;
    }

    .product_info_content section .solve_content table .text {
        padding-left:10px;
        padding-right:0px;
        text-align: left;
    }

    .product_info_content section .solve_content .img img{
        max-height:70px;
    }

    .product_info_content section .solve_content .red {
        font-size: 20px;
        overflow-wrap: break-word;
    }
}

.product_info_content section .plan_content {
    display: flex;
    justify-content: space-around;
}

.product_info_content section .plan_content .plan {
    width: 45%;
    z-index: 1;
    border-radius: 20px;
    border: solid 5px;
    margin: 0px;
    height: auto;
    overflow: hidden;
    box-sizing: border-box;
}

.product_info_content section .plan_content .plan_name {
    color: rgba(246, 244, 244, 1);
    font-size: 28px;
    font-weight: 700;
    /* border-radius: 20px 20px 0px 0px; */
    text-align: center;
    width: 100%;
    padding: 20px 10px;
    box-sizing: border-box;
}

.product_info_content section .plan_content .one_job {
    border-color: rgba(38, 33, 33, 1);
}

.product_info_content section .plan_content .unlimited {
    border-color: rgba(192, 0, 0, 1);
}

.product_info_content section .plan_content .one_job .plan_name {
    background-color: rgba(38, 33, 33, 1);
}

.product_info_content section .plan_content .unlimited .plan_name {
    background-color: rgba(192, 0, 0, 1);
}

.product_info_content section .plan_content .plan .product_name {
    font-size: 32px;
    font-weight: 900;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px 0px;
    height: 80px;
    width: 100%;
}

.product_info_content section .plan_content .one_job .product_name {
    color: rgba(38, 33, 33, 1);
}

.product_info_content section .plan_content .unlimited .product_name {
    color: rgba(192, 0, 0, 1);
}

.product_info_content section .plan_content .plan .price {
    padding: 20px 20px 40px 20px;
    box-sizing: border-box;
    text-align: center;
}

.product_info_content section .plan_content .plan .price table {
    border: none;
    table-layout: fixed;
}

.product_info_content section .plan_content .plan .price th {
    background-color: transparent;
    color: rgba(38, 33, 33, 1);
    border-bottom: solid 3px rgba(207, 206, 206, 1);
    border-right: solid 3px rgba(207, 206, 206, 1);
    border-left: none;
    border-top: none;
}

.product_info_content section .plan_content .plan .price th:last-child {
    border-right: none;
}

.product_info_content section .plan_content .plan .price tr:last-child th,
.product_info_content section .plan_content .plan .price tr:last-child td {
    border-bottom: none;
}

.product_info_content section .plan_content .plan .price td {
    background-color: transparent;
    color: rgba(38, 33, 33, 1);
    border-bottom: solid 3px rgba(207, 206, 206, 1);
    border-left: solid 3px rgba(207, 206, 206, 1);
    border-right: none;
    border-top: none;
}

/* スマホ用 */
@media screen and (max-width: 820px) {
    .product_info_content section .plan_content {
        flex-direction: column;
    }

    .product_info_content section .plan_content .plan {
        width: 100%;
        margin: 20px 0px;
    }

    .product_info_content section .plan_content .plan .plan_name{
        font-size: 20px;
    }

    .product_info_content section .plan_content .plan .price th {
        padding: 5px;
    }
}

.product_info_content section .plan_notice {
    font-size: 16px;
}

.product_info_content section .button_group {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0px;
}

.product_info_content section .button_group .button_black {
    margin: 0px 55px;
}

@media screen and (max-width: 820px) {
    .product_info_content section .button_group {
        flex-direction: column;
    }
    .product_info_content section .button_group .button_black {
        margin: 20px 0px;
    }
}


.product_info_content section .category_list {
    display: flex;
    text-align: center;
    flex-wrap: wrap;
    padding: 0px;
    justify-content: space-between;
    align-items: center;
    padding: 20px 20px;

}

.product_info_content section .category_list::after {
    content: "";
    display: block;
    width: 30%;
}

.product_info_content section .category_list li {
    list-style-type: none;
    margin: 15px 0px;
    text-align: center;
}

.product_info_content section .category_list li a{
    width:240px;
    font-size: 22px;
}

@media screen and (max-width: 820px) {
    .product_info_content section .category_list {
        padding: 20px 0px;
    }

    .product_info_content section .category_list li {
        margin: 10px 0px;
    }

    .product_info_content section .category_list li a{
    width:150px;
    font-size: 16px;
}
}

/* 商品詳細ページ終了 */

/* 資料詳細ページ */
.document_content .info {
    display: flex;
    justify-content: center;
    padding: 40px 0px;
}

.document_content .info .img {
    width: 50%;
    padding: 25px;
    box-sizing: border-box;
}

.document_content .info .img img {
    max-width: 100%;
}

.document_content .info .detail_group {
    width: 50%;
    padding: 25px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}



.document_content .space {
    height: 100px;
}

@media screen and (max-width: 820px) {
    .document_content .info {
        flex-direction: column;
    }

    .document_content .info .img {
        width:100%;
        text-align: center;
        padding-bottom:0px;
    }

    .document_content .info .img img{
        max-height:400px;
        width:auto;
    }

    .document_content .info .detail_group {
        width: 100%;
        padding-top:0px;
        display: block;
    }
}

/* 資料詳細ページ終了 */

/* 事例一覧ページ */
.cases_content .category_list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap:20px;
    padding:0px;
}

.cases_content .category_list .category_gray{
    width:22%;
    font-size: 20px;
    font-weight:700;
    cursor: pointer;
    height:65px;
}

.cases_content .category_list .category_gray.is_active{
    background-color: rgba(62, 57, 57, 1);
    color:rgba(246, 244, 244, 1);
    border-color:rgba(62, 57, 57, 1) ;
}

@media screen and (max-width: 820px) {
    .cases_content .category_list{
        justify-content: space-between;
        gap:10px;
    }

    .cases_content .category_list .category_gray{
        width:45%;
        font-size: 14px;
        height:50px;
    }
}

.no_result{
    margin:80px 0px;
    text-align: center;
}

.no_result p{
    color:rgba(62, 57, 57, 1);
}

.no_result img{
    width:100px;
    height:100px;
}
/* 事例一覧ページ終了 */

/* 事例詳細ページ */
.case_content_main figure{
    text-align: center;
}

.case_content_main h3{
    background:none;
    font-size:28px;
}

@media screen and (max-width: 820px) {
    .case_content_main h3{
        font-size:20px;
    }
}

.case_content .category_list{
    display: flex;
    gap:10px;
    flex-wrap : wrap;
}

.case_content_main a{
  color:rgba(30, 115, 190, 1);
  word-break: break-word;
}
/* 事例詳細ページ終了 */

/* 機能一覧ページ */
.custom_main .content .features_content p{
    font-size:16px;
}
/* 機能一覧ページ終了 */

/* 動画ページ */
.movies_content{
    margin-top:40px;
}

.movies_content .button_red{
    margin:40px 0px;
}

.movies_content .button_red a{
    width:450px;
}

.movies_content .category_list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap:20px;
    padding:0px;
}

.movies_content .category_list .category_gray{
    width:22%;
    font-size: 20px;
    font-weight:700;
    cursor: pointer;
    height:65px;
}

.movies_content .category_list .category_gray.is_active{
    background-color: rgba(62, 57, 57, 1);
    color:rgba(246, 244, 244, 1);
    border-color:rgba(62, 57, 57, 1) ;
}

@media screen and (max-width: 820px) {
    .movies_content .category_list{
        justify-content: space-between;
        gap:10px;
    }

    .movies_content .category_list .category_gray{
        width:45%;
        font-size: 14px;
        height:50px;
    }
}

.movie_card{
    display: flex;
    margin:20px;
}

.movie_card.reverse{
    flex-direction: row-reverse;
}

.movie_card .text{
    width:50%;
    margin:20px;
}

.movie_card .text .movie_title{
    font-size: 24px;
    font-weight: 700;
}

.movie_card .text .movie_detail{
    font-size: 16px;
}

.movie_card .movie{
    width:50%;
    margin:20px;
    display:flex;
    justify-content: center;
    align-items: center;
}

.movie_card .movie iframe{
    width:100%;
    /* aspect-ratio: 4 / 3; */
}

#movies_list .line{
    height:1px;
    background-color: rgba(207, 206, 206, 1);
    width:100%;
}

@media screen and (max-width: 820px) {
    .movie_card,
    .movie_card.reverse{
    flex-direction: column;
}

.movie_card .text{
    width:100%;
    margin:0px;
}

.movie_card .text .movie_title{
    font-size: 20px;
}

.movie_card .text .movie_detail{
    font-size: 14px;
}

.movie_card .movie{
    width:100%;
    margin:20px 0px;
}
}

/* 動画ページ終了 */

/* ニュースページ */
.news_content{
    padding-top:100px;
}

.news_content .date{
    padding-left:20px;
    color:rgba(62, 57, 57, 1);
    font-size:18px;
}

.news_content .news_title{
    font-size: 38px;
    box-sizing: border-box;
    width:100%;
    padding: 20px;
    border-bottom: solid 1px rgba(207, 206, 206, 1);
}

.news_content .button_black{
    margin-top:100px;
}

@media screen and (max-width: 820px) {

    .news_content{
    padding-top:80px;
}

    .news_content .date{
    padding-left:10px;
    font-size:16px;
}

    .news_content .news_title{
    font-size: 24px;
     padding: 10px;
}
}

/* ニュースページ終了 */

/* ニュース一覧ページ */
.all_news_content{
    margin-top:40px;
}

.all_news_content .news .news_child .date{
    font-size: 20px;
}

.all_news_content .news .news_child .title{
    font-size: 28px;
}

@media screen and (max-width: 820px) {
    .all_news_content .news .news_child .date{
    font-size: 16px;
}

.all_news_content .news .news_child .title{
    font-size: 18px;
}
}
/* ニュース一覧ページ終了 */

/* お問い合わせページ */
.wpcf7 {
    background-color: #FFFFFF; 
    border: solid 2px rgba(207, 206, 206, 1);
    padding: 20px;
    margin-top:40px;
}

.wpcf7 h2{
    color:rgba(14, 8, 8, 1);
    text-align: center;
    border-bottom: solid 2px rgba(207, 206, 206, 1);
}

.wpcf7 p label{
    font-weight: 500;
}

.wpcf7 p .item_name{
    display: block;
    margin:10px 0px;
}

.wpcf7 p.consent{
    font-size: 18px;
}

@media screen and (max-width: 820px) {
.wpcf7 p.consent{
    font-size: 14px;
}
}

.wpcf7 br{
    display: none;
}

@media screen and (max-width: 820px) {
    .wpcf7 br.sp{
    display: block;
}
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"]{
    width:100%;
    box-sizing: border-box;
    min-height:40px;
    background-color: #FFFFFF; 
    border: solid 2px rgba(207, 206, 206, 1);
    border-radius: 5px;
}

.wpcf7 textarea{
    width:100%;
    box-sizing: border-box;
    background-color: #FFFFFF; 
    border: solid 2px rgba(207, 206, 206, 1);
    border-radius: 5px;
}

.wpcf7 .wpcf7-list-item{
    width:100%;
    margin:0px;
}

.wpcf7 .wpcf7-list-item label{
    width: 100%;
    display: flex;
    align-items: center;
}

.wpcf7 .wpcf7-list-item input[type="checkbox"]{
     background-color: #FFFFFF; 
    border: solid 2px rgba(207, 206, 206, 1);
    border-radius: 2px;
    height:20px;
    width:20px;
    margin:0px;
    cursor: pointer;
    -webkit-appearance: none; 
    position:relative;
    display: block;
    box-sizing: border-box;
}


.wpcf7 .wpcf7-list-item input[type="checkbox"]:checked{
    background-color: rgba(192, 0, 0, 1);
}

.wpcf7 .wpcf7-list-item input[type="checkbox"]::after{
    display: block;
    content: '';
    position: absolute;
    left:5px;
    top:1px;
    width: 4px;
    height: 8px;
    border-right: solid 4px #FFFFFF; 
    border-bottom: solid 4px #FFFFFF; 
    transform: rotate(45deg);
    opacity: 0;
}

@media screen and (max-width: 820px) {
    .wpcf7 .wpcf7-list-item input[type="checkbox"]::after{
    border-right: solid 3px #FFFFFF; 
    border-bottom: solid 3px #FFFFFF; 
}
}

.wpcf7 .wpcf7-list-item input[type="checkbox"]:checked::after{
    opacity: 1;
}

.wpcf7 .wpcf7-list-item .wpcf7-list-item-label{
    padding-left:10px;
    width:90%;
}

.wpcf7 .confirm{
    margin:20px 0px;
}

.wpcf7 p.confirm{
    font-weight: 500;
    text-align: center;
}

.wpcf7 .confirm .wpcf7-list-item{
    display: flex;
    justify-content: center;
}

.wpcf7 .confirm .wpcf7-list-item label{
    justify-content: center;
}

.wpcf7 .confirm .wpcf7-list-item .wpcf7-list-item-label{
    width:auto;
}

.wpcf7 .submit {
    color: rgba(246, 244, 244, 1);
    background-color: rgba(14, 8, 8, 1);
    border: solid 1px rgba(14, 8, 8, 1);
    border-radius: 20px;
    width: 300px;
    max-width:100%;
    height: 80px;
    font-size: 28px;
    font-weight: 700;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-around;
    transition: 0.3s ease-in-out;
    margin: 40px auto 0px;
    cursor: pointer;
}

@media screen and (max-width: 820px) {
    .wpcf7 .submit {
        font-size: 24px;
        height:60px;
    }
}

.wpcf7 .submit:hover {
    background-color: rgba(192, 0, 0, 1);
    border-color: rgba(192, 0, 0, 1);
}

.wpcf7 .wpcf7-not-valid-tip{
    color:rgba(192, 0, 0, 1);
    font-weight: 500;
}

/* お問い合わせページ終了 */

/* FAQページ */

.faq_content details summary.heading_line {
  list-style: none;
  cursor: pointer;
  flex-flow: initial;
  justify-content:space-between;
  align-items: center;
  margin:20px 0px;
}

.faq_content details summary::-webkit-details-marker {
  display: none;
}

.faq_content details summary.heading_line .icon{
  width:15px;
  height:15px;
  border-top: 2px solid rgba(62, 57, 57, 1);
  border-right: 2px solid rgba(62, 57, 57, 1);
  transform:translate(32px, -5px) rotate(135deg);
  transition: 0.3s ease-in-out;
  margin-right:10px;
  margin-top:10px;
}

@media screen and (max-width: 820px) {
    .faq_content details summary.heading_line .icon{
        width:10px;
        height:10px;
        margin-right:15px;
    }
}

.faq_content details summary.heading_line .wrap{
  display: flex;
  align-items: center;
  width:95%;
}


.faq_content details summary.heading_line .wrap .red{
  font-family: 'Inter', sans-serif;
  margin-right:20px;
  height:100%;
}

.faq_content details[open] summary.heading_line .icon{
  transform:translate(32px, -2px) rotate(-45deg);
  transition: 0.3s ease-in-out;
}

.faq_content details .answer{
  margin:20px 0px;
  animation: 0.3s fadeup ease-in-out forwards;
}

@keyframes fadeup {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.faq_content details[open] .answer a{
  color:rgba(30, 115, 190, 1);
}

/* FAQページ終了 */

/* サポートページ */
.support_content .button_black a{
    font-size: 24px;
}

@media screen and (max-width: 820px) {
    .support_content .button_black a{
    font-size: 20px;
}
}
/* サポートページ終了 */

/* 404ページ */
.not_found_content{
    margin-top:100px;
    text-align: center;
}

.status_code{
    color:rgba(192, 0, 0, 1);
    font-family: "League Gothic", sans-serif;
    font-size: 96px;
}

@media screen and (max-width: 820px) {
    .not_found_content{
        margin-top:40px;
    }
}
/* 404ページ終了 */