@charset "utf-8";

/* CSS Document */
/*Theme Name: origin
  Author: marudou-lanc
  Description: Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDGothic:wght@400;700&family=Dangrek&display=swap');
/*  CSS Reset 
------------------------------------------------------------------*/

*,
*::before,
*::after {
    box-sizing: border-box
}

* {
    margin: 0
}
html{
    scroll-behavior: smooth;
}
html,
body {
    height: 100%;
}

body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased
}


picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%
}

img {
    max-width: 100%;
}

input,
button,
textarea,
select {
    font: inherit;
    -webkit-appearance: none;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

#root,
#__next {
    isolation: isolate
}

/*ios form reset*/

input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    outline: none;
    background: transparent;
}

button,
input[type="submit"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
}

/*
input[type="radio"] {
    display: none;
}
input[type="radio"]:checked + label {
    background: #ff0000;
}
*/
table {
    table-layout: fixed;
    border-collapse: collapse;
    border-spacing: 0;
}

/* flex
--------------------------------------------------------*/
.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.flex.start {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

.flex.end {
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

.flex.center {
    -webkit-justify-content: center;
    justify-content: center;
}

.flex.around {
    -webkit-justify-content: space-around;
    justify-content: space-around;
}

.flex.between {
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.flex.stretchf {
    -webkit-align-items: stretch;
    align-items: stretch;
}

.flex.ai_center {
    -webkit-align-items: center;
    align-items: center;
}

.flex.ai_start {
    -webkit-align-items: flex-start;
    align-items: flex-start;
}

.flex.ai_end {
    -webkit-align-items: flex-end;
    align-items: flex-end;
}

.flex.nowrap {
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.flex.column {
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
}

.flex.row {
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
}

.flex.c_reverse {
    -ms-flex-direction: column-reverse;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
}

.flex.r_reverse {
    -ms-flex-direction: row-reverse;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.noshrink {
    flex: 0 0 auto;
}

.grow {
    flex: 1 1 auto;
}

/* base
---------------------------------------------------------------*/

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

iframe {
    max-width: 100%;
}

img {
    max-width: 100%;
    height: auto;
}

ul,
ol {
    padding: 0;
}

li {
    list-style: none;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    transition: .3s;
}

a[href^="tel:"]:hover {
    opacity: 1;
}

.slick-slide {
    outline: none;
}

.tb_only {
    display: none;
}

.sp_only {
    display: none;
}

.tb_pc {
    display: inherit;
}

.sp_tb {
    display: none;
}

.txt_center {
    text-align: center;
}

.txt_right {
    text-align: right;
}

.txt_left {
    text-align: left;
}

.inner {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
    z-index: 0;
    position: relative;
}

body {
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-weight: 400;
  font-style: normal;
}


@media(max-width: 767px) {
    .inner {
        max-width: 100%;
        padding: 0 3.2vw;
    }
}



/* debug 
----------------------------------------------------------------------------------------------*/
html.int {
    margin-top: 0 !important;
}

#wpadminbar {
    z-index: 10000000 !important;
    background: rgba(0, 0, 0, 0.25) !important;
    display: none;
}

/*--------------------------------------------------------------------------------------------*/
@media(min-width: 768px) and (max-width:1280px) {
    .pc_only {
        display: none;
    }

    .tb_only {
        display: inherit;
    }

    .sp_only {
        display: none;
    }

    .tb_pc {
        display: inherit;
    }

    .sp_tb {
        display: inherit;
    }

   

}

@media(max-width: 767px) {
    
    .pc_only {
        display: none;
    }

    .tb_only {
        display: none;
    }

    .sp_only {
        display: inherit;
    }

    .tb_pc {
        display: none;
    }

    .sp_tb {
        display: inherit;
    }

}


/*-----------------------------------------------------------
-------------------------------------------------------------

/* root
-----------------------------------------------------------*/
:root,
::before, ::after {
    /* font family */
    --font-original: "BIZ UDGothic", sans-serif;
    --font-en: "Dangrek", sans-serif;
    --font-sans: YakuHanJP_Noto, "Noto Sans JP", "ヒラギノ角ゴシック", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", Hiragino Sans, "メイリオ", Meiryo, sans-serif;
    --font-serif: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;

    /* line height */
    --line-height-s: 1.4;
    --line-height-m: 1.6;
    --line-height-l: 1.8;

    /* color */
    --color-prim: #ffc300;
    --color-sec: #bf9c50;
    --color-yellow: #bf9c50;
    --color-red: #e50012;
    --color-white: #ffffff;
    --color-text: #222;
    --color-text-caption: #666;
    --color-text-link: #007CBF;
    --color-text-visited: #681da8;
    --color-text-caution: #C81432;

    /* color border*/
    --color-border-base: #EBEBEB;

    /*color bg*/
    --color-bg-black: #1C1C1C;
    --color-bg-main:#fdfaf1;

    /*color grad*/
    --color-key-grad: linear-gradient(to right, #bf9c50, #e50012);


    /*最後消す*/
    --color-key-grad-p: linear-gradient(135deg, #E6F7FF 0%, #E6FFF2 50%, #EEFFE6 100%);

    --color-bg-gray: #F7F7F7;
    --color-bg-caution: #FDE5E9;
    --color-pdf: #D81E1E;
    --color-blue: #0082CA;
    --color-green: #009900;
    --color-orange: #EB6100;
    --color-pink: #E61673;
    --color-purple: #6B1685;
    --color-navy: #0A2D88;
    --color-sky: #2EA7E0;
    --color-turquoise: #00A9AD;
    --color-lime: #CFDB00;
    --color-gold: #FFA40C;
    --color-blue-p: #F0FAFF;
    --color-green-p: #F7FFF0;
    --color-yellow-p: #FFFDF0;
    --color-orange-p: #FFF6F0;
    --color-pink-p: #FFF0F7;
    --color-red-p: #FFF0F2;
    --color-purple-p: #FBF0FF;
    --color-navy-p: #F0F4FF;
    --color-sky-p: #F0FAFF;
    --color-turquoise-p: #F0FFFF;
    --color-lime-p: #FEFFF0;
    --color-gold-p: #FFF9F0;
    --color-form-border: #CCCCCC;
    --color-form-bg: #EBEBEB;
    --color-form-placeholder: #999999;
    --color-form-error: #D81E1E;
    --color-form-error-bg: #FFF0F0;

}

/* base 
----------------------------------------------------------*/
html {
    width: 100%;
    font-size: 62.5%;
}
main{
    padding-bottom: 160px;
}
.en{
    font-family: var(--font-en);
}
body {
    letter-spacing: 0em;
    font-size: 1.8rem;
    line-height: var(--line-height-l);
    font-family: var(--font-original);
    margin-top: 0px;
    background-color: var(--color-bg-main);
}

.wrap_foot_stick {
    position: sticky;
    top: 100vh;
    width: 100%;
    padding-bottom: 0px;
}



#wrap_page {
    height: 100%;
}
@media (min-width: 768px) and (max-width: 1280px) {
    body {
        min-width: 100%;
        max-width: 100%;
        overflow-y: scroll;
    }
}

@media(max-width: 767px) {
    body {
        min-width: 100%;
        max-width: 100%;
        font-size: 1.4rem;
    }
}

/* header -base
----------------------------------------------------------*/
#g-nav{
    display: none;
}
.header{
    position: relative;
    height: 60px;
    background: #333;
    color: #fff;
    & .inner{
        height: 100%;

        & h1{
            font-size: 18px;
            line-height: 18px;
            padding-top: 3px;

            & a{
                .icn{
                    display: block;
                    width: 40px;
                    height: 40px;
                    background-image: url(images/icn_foot.png);
                    background-position: center center;
                    background-size: contain;
                    background-repeat: no-repeat;
                }
                .ttl{
                    padding-left: 0.75rem;
                }   
            }

        }
    }
}
.pc_nav{
    height: 100%;
    & ul{
        height: 100%;
        gap: 15px 0;

        & li{
            border-left: 1px solid #fff;
            padding: 0px 12px 0px;
            color: #fff;
            font-size: 14px;
        }
    }
}
.openbtn{
    display: none;
}
@media(max-width: 1280px) {
   .pc_nav{
    display: none;
   }
   /* btn */
   .openbtn{
        display: block;
        position: fixed;
        top: 5px;
        right: 5px;
	    background:var(--color-prim);
    	cursor: pointer;
        width: 50px;
        height:50px;
	    border-radius: 5px;
        z-index: 100000;
    }

    .openbtn span{
        display: inline-block;
        transition: all .4s;/*アニメーションの設定*/
        position: absolute;
        left: 14px;
        height: 3px;
        border-radius: 2px;
	    background: #fff;
    }


    .openbtn span:nth-of-type(1) {
	    top:15px;	
      	width: 45%;
    }

    .openbtn span:nth-of-type(2) {
	    top:23px;
  	    width: 35%;
    }

    .openbtn span:nth-of-type(3) {
	    top:31px;
  	    width: 20%;
    }

    .openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        transform: translateY(6px) rotate(-135deg);
        width: 30%;
    }

    .openbtn.active span:nth-of-type(2) {
	    opacity: 0;
    }

    .openbtn.active span:nth-of-type(3){
        top: 30px;
        left: 18px;
        transform: translateY(-6px) rotate(135deg);
        width: 30%;
    }

    /*sp_menu*/
    #g-nav{
        display: block;
    }
    #g-nav.panelactive{
        position:fixed;
        z-index: 99999;
        top: 0;
        width:100%;
        height: 100vh;
    }
    
    .circle-bg{
        position: fixed;
        z-index:3;
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background: var(--color-prim);
        transform: scale(0);
        right:-50px;
        top:-50px;
        transition: all .6s;
    }
    
    .circle-bg.circleactive{
        transform: scale(50);
    }
    
    #g-nav-list{
        display: none;
        position: fixed;
        z-index: 999; 
        width: 100%;
        height: 100vh;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    #g-nav.panelactive #g-nav-list{
         display: block; 
    }
    
    #g-nav ul {
        opacity: 0;
        position: absolute;
        z-index: 999;
        top:50%;
        left:50%;
        transform: translate(-50%,-65%);
        width: 335px;
    }
    
    #g-nav.panelactive ul {
        opacity:1;
    }
    
    #g-nav.panelactive ul li{
    animation-name:gnaviAnime;
    animation-duration:1s;
    animation-delay:.2s;
    animation-fill-mode:forwards;
    opacity:0;
    }

    @keyframes gnaviAnime{
        0% {
            opacity: 0;
        }
        100% {
            opacity: 1;
        }
    }
    
    #g-nav li{
        text-align: center; 
        list-style: none;
    }
    
    #g-nav li a{
        color: #fff;
        text-decoration: none;
        padding:10px;
        display: block;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        font-weight: bold;
        background: #333;
        margin-bottom: 1rem;
    }

    #g-nav li.logo{
        font-size: 18px;
        line-height: 18px;
        padding-top: 3px;
        padding-bottom: 10px;
        border-bottom: 1px solid #fff;
        margin-bottom: 2rem;
        font-weight: bold;

        & a{
            /*reset*/
            color: #333;
            text-decoration: none;
            padding:0px;
            display: flex;
            text-transform: inherit;
            letter-spacing: inherit;
            font-weight: normal;
            background: inherit;

            .icn{
                display: block;
                width: 40px;
                height: 40px;
                background-image: url(images/icn_foot.png);
                background-position: center center;
                background-size: contain;
                background-repeat: no-repeat;
            }
            .ttl{
                padding-left: 0.75rem;
            }   
        }

    }

}




/* footer - base
----------------------------------------------------------*/
.footer {
    background: var(--color-bg-black);
    color: var(--color-white);
    padding: 6rem 0rem 2rem;

    .area {
        padding-bottom: 8rem;

        .col_logo {
            width: 400px;
        }

        .col {
            max-width: calc(100% - 400px);
            & ul {
                line-height: 2.4;

                & li {
                    color: #ccc;

                    & a:hover {
                        color: #fff;
                        text-decoration: underline;
                    }

                }
            }
        }
    }

    .copyright {
        text-align: center;
        font-size: 1.2rem;
    }
}

.wrap_bread {
    padding: 1rem 0;
    font-size: 1.2rem;
    background: cadetblue;
    color: #fff;
    & a {
        text-decoration: underline;
    }
}
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
    .footer {

        width: 100%;
        padding: 2rem 0vw 0px;

        .copyright {
            text-align: center;
            font-size: 1.2rem;
            line-height: 1.2;
            padding-top: 5rem;
        }

        .area {
            padding-bottom: 0;

            .col_logo {
                margin-bottom: 2rem;
                width: 100%;
            }

            .col {
                margin-bottom: 3rem;
                width: 100%;
                max-width: 100%;

                & ul {
                    text-align: center;
                    & li {
                        color: #fff;
                        line-height: 2.5;

                        & a{
                            text-decoration: underline;
                        }
                    }
                }
            }
        }
    }
}

/* page - base one clums
----------------------------------------------------------*/
.main_page_content{
    overflow-x: hidden;
    width: 100%;
}
.page_header{
    height: 240px;
    & .wrap{
        height: 100%;
        & h1{
            font-family: var(--font-sans);
            font-size: 3.6rem;
            color: #333;
        }

    }
}
.page_main{
    padding: 150px 0;
    background-image: url(images/wallpaper_00021.jpg);

    & dl{
        margin-bottom: 6rem;
        & dt{
            font-size: 18px;
            font-weight: bold;
            padding-left: 10px;
            border-left: 3px solid #000;
            margin-bottom: 2rem;
        }
        & dd{
            font-size: 15px;
            & a{
                color:var(--color-text-link);
                text-decoration: underline;
            }
        }

    }
}
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
    .page_header{
        height: 140px;
        & .wrap{
            & h1{
                font-size: 2.4rem;
            }
    
        }
    }
    .page_main{
        padding: 75px 0;
        background-image: url(images/wallpaper_00021.jpg);
    
        & dl{
            margin-bottom: 4rem;
            & dt{
                font-size: 1.6rem;
                font-weight: bold;
                padding-left: 6px;
                border-left: 2px solid #000;
                margin-bottom: 1.5rem;
            }
            & dd{
                font-size: 1.4rem;
            }
    
        }
    }
}


/* single - base two clums (if use one clum when use page base css)
----------------------------------------------------------*/
.common_the_content {

    .wp-caption{width: 100%!important;}

    & h2{
        margin-bottom: 1.5rem;
    }

    & p{
        margin-bottom: 2rem;
        &.wp-caption-text{
            text-align: center;
            color: silver;
            margin-bottom: 2rem;
        }
    }

    & ul{
        padding-bottom: 1rem;
        padding-left: 2rem;
        & li{
            list-style-type: circle;
            margin-bottom: 1rem;
        }

    }
    & ol{
        padding-bottom: 1rem;
        padding-left: 2rem;
        & li{
            list-style-type:decimal;
            margin-bottom: 1rem;
        }
    }

    & a{
        color: var(--color-text-link);
        text-decoration: underline;
    }



}
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
   
}

/* single - base
----------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 1280px) {
    
}

@media(max-width: 767px) {
   
}



/* archive - base
----------------------------------------------------------*/ 
.wrap_list_category {
        .list{
            .item{
                margin: 0 2rem 1rem 0;
                width: calc( (100% - 4rem) / 5 );
                & a{
                    display: inline-block;
                    line-height: 1;
                    padding: 2rem 1rem;
                    text-align: center;
                    width: 100%;
                    border:1px solid;
                    border-radius: 5px;
                }
            }
            .item.active{
                & a{
                    color: #a6a6a6;
                    border-radius: 5px;
                    background-color: #2f2f2f;
                    border-color: #000;

                }
            }
        }
}


.nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
   }

.page-numbers {
    position: relative;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 0;
    font-size: 1.5rem;
    background-color: #fff;
    border-radius: 3px;
    transition: color .3s cubic-bezier(0.25, 1, 0.5, 1);
    width: 45px;
    height: 45px;

    &::before {
        position: absolute;
        top: -2px;
        left: -2px;
        z-index: -1;
        border-radius: 10px;
        width: calc(100% + 4px);
        height: calc(100% + 4px);
        content: "";
        background-color: #000;
        border-radius: 5px;
    }

    &:hover {
        color: var(--color-prim);
    }

    &:hover::before {
        background: var(--color-red);
        background: -webkit-linear-gradient(to right, #ffdc00, #e50012);
        background: var(--color-key-grad);
    }

    &.dots {
        color: #ddd;

        &::before {
            display: none;
        }
    }

    &.current {
        color: #a6a6a6;
        border-radius: 5px;
        background-color: #f2f2f2;

        &::before {
            display: none;
        }
    }

}

@media(max-width: 767px) {
    .nav-links {
        gap: 1rem;
        
    }
}


/* category -base
----------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 1280px) {
    
}

@media(max-width: 767px) {
   
}

/* sitemap -base
----------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
   
}

/* privacy -base
----------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
   
}

/* contact -base
----------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
   
}



/************************* Do not delete until here **************************************/

/* header -custom
----------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
   
}




/* footer - custom
----------------------------------------------------------*/
.wrap_foot_cta{
    position: fixed;
    background: var(--color-prim);
    background-image: linear-gradient( 135deg, #ffc300 10%, #DE4313 100%);padding: 4px 0.5em;
    z-index: 10000;
    bottom: 0;
    left: 0;
    width: 100%;
}
.in_cta{
    padding: 10px 0 8px;
    gap: 0 30px;
}
.img_cta{
    font-size: 0;
}


.logo_foot{
    & > a{
        -webkit-justify-content: start;
        justify-content: start;
    }
    .icn{
        display: block;
        width: 60px;
        height: 60px;
        background-image:url(images/icn_foot.png);
        background-position: center center;
        background-size: contain;
        background-repeat: no-repeat;
    }
    .ttl{
        display: block;
        line-height: 60px;
        padding-left: 1rem;
        font-size: 2.4rem;
    }
}
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
    .logo_foot{
        & > a{
            -webkit-justify-content: center;
            justify-content: center;
        }
        .icn{
            width: 60px;
            height: 60px;
        }
        .ttl{
            font-size: 1.6rem;
        }
    }
}



/* archive - custom
----------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
   
}

/* category - custom
----------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
   
}

/* single - custom
----------------------------------------------------------*/
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
   
}

/* about -custom
----------------------------------------------------------*/
.page_main{
    & dl.list_about{
        margin-bottom: 0rem;
        width: 750px;
        margin: 0 auto;
        gap: 0rem 35px;
        & dt{
            /*reset*/
            font-size: 16px;
            font-weight: normal;
            padding-left: 0;
            border-left: none;
            margin-bottom: 0;
            /*add*/
            width: 200px;
            padding-top: 4rem;
            border-top: 2px solid #333;
            padding-bottom: 4rem;

            &:last-of-type{
                border-bottom: 2px solid #333;
            }
        }
        & dd{
            /*reset*/
            font-size: 16px;
            /*add*/
            width: calc(100% - 200px - 35px);
            padding-top: 4rem;
            border-top: 2px solid #d0d0d0;
            padding-bottom: 4rem;

            &:last-of-type{
                border-bottom: 2px solid #d0d0d0;
            }

            & a{
                /*default*/
                color:var(--color-text-link);
                text-decoration: underline;
            }
        }

    }
}
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
    .page_main{
        & dl.list_about{
            margin-bottom: 0rem;
            width: 100%;
            margin: 0 auto;
            gap: 0rem 35px;
            & dt{
                /*add*/
                width: 100%;
                padding-top: 4rem;
                border-top: 2px solid #333;
                padding-bottom: 4rem;
    
                &:last-of-type{
                    border-bottom: 2px solid #333;
                }
            }
            & dd{
                /*add*/
                width: calc(100% - 0px - 0px);
                padding-top: 4rem;
                border-top: 2px solid #d0d0d0;
                padding-bottom: 4rem;
    
                &:last-of-type{
                    border-bottom: 2px solid #d0d0d0;
                }
    
            }
    
        }
    }
}

/* privacy -custom
----------------------------------------------------------*/
.privacy_head_txt{
    font-size: 1.8rem;
    margin-bottom: 8rem;
}
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
    .privacy_head_txt{
        font-size: 1.6rem;
        margin-bottom: 6rem;
    }
}

/*  front - custom
----------------------------------------------------------*/

a.btn_p01 {
    background-image: linear-gradient( 135deg, #ffc300 10%, #DE4313 100%);
    padding: 10px 0.5em;
    color: #fff;
    font-weight: 800;
    font-size: 32px;
    display: block;
    margin-top: auto;
    border-radius: 20px;
    text-align: center;
    width: 750px;
    margin: 0 auto;
}

.wrap_items.gap2rem{
    gap: 2rem;
}
.wrap_item_voice_front {
    position: relative;
    padding: 3.75rem 3.75rem 2rem 3.75rem;
    border-radius: 30px;
    background-color: #fff;
    width: calc(50% -1rem);
    max-width: 585px;
}

.wrap_item_voice_front .detail {
    gap: 0 10px;
    line-height: 1;
    margin-bottom: 1.5rem;

    & .star{
       font-size: 24px;
    }
    & .star50{
        background: linear-gradient(90deg, #ffc300 100%, #ddd 0%);
        -webkit-background-clip: text; 
        -webkit-text-fill-color: transparent; 
    }
    & .star45{
        background: linear-gradient(90deg, #ffc300 90%, #ddd 10%);
        -webkit-background-clip: text; 
        -webkit-text-fill-color: transparent; 
    }
    & .star40{
        background: linear-gradient(90deg, #ffc300 80%, #ddd 20%);
        -webkit-background-clip: text; 
        -webkit-text-fill-color: transparent; 
    }
    & .star35{
        background: linear-gradient(90deg, #ffc300 70%, #ddd 30%);
        -webkit-background-clip: text; 
        -webkit-text-fill-color: transparent; 
    }
    & .star30{
        background: linear-gradient(90deg, #ffc300 60%, #ddd 40%);
        -webkit-background-clip: text; 
        -webkit-text-fill-color: transparent; 
    }
    & .star25{
        background: linear-gradient(90deg, #ffc300 50%, #ddd 50%);
        -webkit-background-clip: text; 
        -webkit-text-fill-color: transparent; 
    }
    & .star20{
        background: linear-gradient(90deg, #ffc300 40%, #ddd 60%);
        -webkit-background-clip: text; 
        -webkit-text-fill-color: transparent; 
    }

}


.wrap_item_voice_front .name {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 2rem;
}
.wrap_item_voice_front .car {
    font-weight: bold;
}
.wrap_item_voice_front .txt {
font-size: 15px;
}
.wrap_h2_01{
    z-index: 0;
    text-align: center;
    padding-top: 60px;
    padding-bottom: 60px;
    .en{
        position: relative;
        &::before{
            content: '';
            width: 100%;
            height: 2px;
            border-radius: 5px;
            background: #333;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto;
            z-index: 0;
        }
        & span{
            position: relative;
            z-index: 0;
            background-color: var(--color-bg-main);
            display: inline-block;
            padding: 10px 40px;
            font-size: 72px;
            line-height: 1;
            font-style: italic;
        }
    }
    .ttl_sec_h2{
        font-size: 24px;
        line-height: 1;
        text-align: center;
        padding: 10px 0 0;
    }
}
strong{
    color: #D81E1E;
}
.tbl01{
    width: 100%;
    text-align: center;
    margin-bottom: 100px;
   
    & thead{
        color: #fff;
        & > tr > th{
            line-height: 1.25;
            padding: 20px;
            background-color: #333;
            font-size: 18px;
            letter-spacing: 0.05em;
            border-left: 10px solid var(--color-bg-main);
            &:nth-child(1){
                background-color: inherit;
                border-left: none;
            }
            &:nth-child(2){
                background-color: var(--color-prim);
                color:#333;
                font-weight: bold;
                font-size: 22px;
            }
        }
    }
    & tbody > tr{
        border-bottom: 1px solid #333;
        font-size: 2rem;
        & > *{
            line-height: 1.25;
            padding: 10px;
            border-left: 10px solid var(--color-bg-main);
    
            &:first-child{
                background-color: #eee;
                border-left: none;
            }
        }
        & > td{
            vertical-align: top;
            padding-bottom: 15px;
            padding-top: 15px;
            &:first-of-type{
                /*vertical-align: middle;*/
            }
        }
        &:nth-of-type(4) > *{
            line-height: 1.5;
        }
        &:nth-of-type(6) > *{
            line-height: 1.5;
        }
        &:last-of-type{
            border-bottom: none;
            > *{
                background-color: inherit;
            }
        }
    }
}
.tbl01.tbl02 {
    & tbody > tr {
        &:last-of-type {
            border-bottom: 1px solid #333;
        }
        > *:first-child{
            background-color: #eee;
            border-left: none;
        }
    }
}
.txt01{
    text-align: center;
    font-size: 30px;
    margin-bottom: 60px;
    font-weight: 400;
}
section{
    padding-top: 50px;
    padding-bottom: 50px;
}
.ttl_count {
    text-align: center;
    margin-bottom: 6rem;
    font-size: 32px;
    & strong{
        font-size: 50px;
    }
}
@media (min-width: 768px) and (max-width: 1280px) {
    
}
@media(max-width: 767px) {
    .ttl_count {
        text-align: center;
        margin-bottom: 5rem;
        font-size: 18px;
        & strong{
            font-size: 24px;
        }
    }
    section {
        padding-top: 25px;
        padding-bottom: 25px;
    }
    .wrap_h2_01{
        padding-top: 20px;
        padding-bottom: 20px;
        .en{
            position: relative;
            & span{
                position: relative;
                z-index: 0;
                background-color: var(--color-bg-main);
                display: inline-block;
                padding: 10px 12px;
                font-size: 34px;
                line-height: 1;
                font-style: italic;
            }
        }
        .ttl_sec_h2{
            font-size: 16px;
            line-height: 1.25;
            text-align: center;
            padding: 0px 0 0;
        }
    }
    .txt01{
        font-size: 16px;
        margin-bottom: 30px;
        font-weight: 400;
        line-height: 1.25;
       
    }
    .wrap_item_voice_front .name {
        font-size: 20px;
        margin-bottom: 0.75rem;
    }
    .wrap_item_voice_front .txt {
        font-size: 12px;
    }
    .wrap_item_voice_front .detail {
        margin-bottom: 1rem;
        font-size: 14px;
        & .star{
            font-size: 14px;
         }
    }
}


/*  mainvisual-custom
----------------------------------------------------------*/
.clr_white{color: #fff;}
.clr_black{color: #000;}
.bg_orange{background-color: #eb612a}
.main_visual{
    text-align: center;
    height: 340px;
    width: 100%;
   
    background-color: #ddd;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.25;
    & > img{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top left;
    }
    .ttl_mv{
        .txt{
            padding: 10px;
            display: inline-block;
            line-height: 1;
            margin-bottom: 5px;
            font-size: 42px;
        }
    }
    .wrap{
        padding-top: 0px;
        z-index: 1;
        position: relative;
    }

    &::before{
        content: 'PR';
        width: 60px;
        height: 30px;
        font-size: 16px;
        color: #fff;
        background-color: var(--color-prim);
        position: absolute;
        bottom: 0;
        right: 0;
        z-index: 1;
        line-height: 30px;
        font-size: 24px;
        font-weight: bold;
        letter-spacing: 0.1em;
    }
}
.search_front{
    background: #ffc300;
    position: relative;
    
    .select_wrap{
        position: relative;
        width: 15%;
        &::before{
            pointer-events: none;
            content: '';
            width: 0;
            height: 0;
            border-style: solid;
            border-right: 12.5px solid transparent;
            border-left: 12.5px solid transparent;
            border-top: 15px solid #333;
            border-bottom: 0;
            position: absolute;
            right: 6px;
            top: 0;
            bottom: 0;
            margin: auto;
        }
    }

    .wrap_select{
        padding-bottom: 0px;
        gap: 20px;
    }
    & select{
        padding: 5px 20px;
        border: 1px solid #000;
        width: 100%;
        color: #000;
    }
    .btn_search{
        width: 10%;
        text-align: center;
        & span{
            display: inline-block;
            border: 1px solid #D81E1E;
            padding: 5px 20px;
            background: #D81E1E;
            color: #fff;
            width: 100%;
        
            
        }
    }
    .wrap_h2_01 {
        & .en {
            & span {
                background-color: var(--color-prim);
            }
        }
    }
}
.box_three01{
    gap: 50px;
    margin-bottom: 75px;
    & > li{
            width: 345px;
        .ttl{
            display: block;
            text-align: center;
            display: flex;
    	    justify-content: center;
	        align-items: center;
            font-weight: bold;
            font-size: 25px;
            margin-bottom: 20px;
            position: relative;
            &::before,&::after {
                content: '';
                width: 3px;
	            height: 40px;
	            background-color: var(--color-prim);
            }
            &::before {
                margin-right: 30px;
                transform: rotate(-35deg)
            }
            &::after {
                margin-left: 30px;
                transform: rotate(35deg)
            }
        }
        .txt{
            display: block;
            text-align: center;
            font-size: 18px;
            margin-top: 40px;
        }
        .img{
            display: block;
            width: 240px;
            margin: 0 auto;
            height: 240px;
            border-radius: 50%;
            border: 4px solid #333;
            background-repeat: no-repeat;
            background-position: center;
            background-size: auto;
            background-color: #fff;
        }
       
    }
}
.list01{
    background: #fff;
    border-radius: 25px;
    font-size: 18px;
    font-weight: normal;
    padding: 50px 50px;
    line-height: 1.25;
    max-width: 820px;
    margin: 0 auto 50px;
    & > li {
        padding-left: 50px;
        position: relative;
        margin-bottom: 4rem;
        &:last-of-type{
            margin-bottom: 0;
        }
        &::before{
            content: '';
            background-image: url(images/kkrn_icon_check_5.png);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            width: 40px;
            height: 40px;
            position: absolute;
            top: -2px;
            bottom: 0;
            left: 0;
            margin: auto;
        }
    }
}
.flow{
    gap: 24px;
    margin-bottom: 60px;
    & > li{
        width: calc( ( 100% - 72px) / 4);

        .inner_area{
            border-radius: 25px;
            background: var(--color-prim);
            padding: 20px;
        }

        .txt_area{
            padding: 15px;
            font-size: 15px;
            border-radius: 25px;
            background: #fff;
            margin-top: 20px;
        }
            
        .ttl{
           background: #000;
           color: #fff;
           border-radius: 25px;
           padding: 10px;
           text-align: center;
           font-size: 20px;
           line-height: 1;
        }
        .txt{
            display: block;
            text-align: center;
            font-size: 2.6rem;
            margin-top: 20px;
            height: 72px;
            line-height: 1.5;
            display: flex;
            width: 100%;
            justify-content: center;
            align-items: center;
            font-weight: bold;
        }
        .icn{
            display: block;
            width: 100%;
            height: 150px;
            & > span{
                background-repeat: no-repeat;
                background-position: center;
                background-size: auto;
                display: block;
                width: 100%;
                height: 100%;   
            }
        }

    }
}
.txt_caption{
    background: #fff;
    border-radius: 25px;
    padding: 20px 40px;
}
.txt02{
    display: block;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 25px;
    margin-bottom: 20px;
    position: relative;
    &::before,&::after {
        content: '';
        width: 3px;
        height: 40px;
        background-color: var(--color-prim);
    }
    &::before {
        margin-right: 30px;
        transform: rotate(-35deg)
    }
    &::after {
        margin-left: 30px;
        transform: rotate(35deg)
    }
}
.wrap_karumo{
    max-width: 725px;
    margin: 60px auto 80px;
    .col_l{
        width: 325px;
        .sub_txt{
            font-size: 36px;
            font-weight: bold;
            line-height: 1;
            padding-bottom: 8px;
        }
        .txt{
            font-size: 92px;
            line-height: 1;
            font-weight: bold;
            margin-bottom: 16px;
        }
    }
    .col_r{
        width: 375px;
        margin-bottom: 80px;
        padding-left: 50px;
        .list{
            & >li{
                font-weight: bold;
                padding-bottom: 15px;
                padding-top: 15px;
                border-bottom: 2px dashed #333;
                text-align: center;
                line-height: 1.25;
                &:last-of-type{
                    padding-bottom: 0;
                    border-bottom: none;
                }
                &:first-of-type{
                    padding-top: 0;
                }
            }
        }
    }
    .txt_caption{
        width: 100%;
    }
}
.design01{
    display: inline-block;
    border: 6px solid #333;
    padding: 10px 95px;
    margin: 15px 0;
}
.sub_ttl_mv{
    margin-top: 10px;
    .txt{
        display: inline-block;
        background: #fff;
        color: #eb612a;
        padding: 10px 28px;
        border-radius: 24px;
        font-weight: bold;
    }
    .sep{
        color: #fff;
    }
}
.mb0{
    margin-bottom: 0!important;
}
@media (max-width: 1280px) {
    .search_front{        
        .select_wrap{
            width: calc((100% - 80px) / 5 );
            &::before{
                border-right: 6.25px solid transparent;
                border-left: 6.25px solid transparent;
                border-top: 7.5px solid #333;
            }
        }
        .wrap_select{
           
        }
        & select{
            padding: 5px 10px;
            font-size: 14px;
        }
        .btn_search{
            width: 100%;
            text-align: center;
            margin-top: 3rem;
            & span{
                width: 50%;
                padding: 15px 20px;
            }
        }
    }
    .tbl01 {
        & tbody > tr {
            font-size: 10px;
        }
    }
    .flow {
        & > li {
            .txt {
                font-size: 16px;
                height: 55px;
            }
        }
    }
}
#AcrTri{
    pointer-events: none;
}
@media(max-width: 767px) {
    .main_visual{
        margin-top: 0px;
        height: 200px;
        width: 100%;
        font-size: 2.5rem;
        line-height: 1.25;
        .wrap{
            padding-top: 0px;
            z-index: 1;
            position: relative;
        }
        .ttl_mv{
            text-align: left;
            line-height: 1;
            display: block;
            padding-top: 9px;

            .txt{
                font-size: 18px;
                margin-bottom: 0;
            }

        }
        .bg_orange{
            background-color: rgba(235, 97, 42,0.75);
        }
        .wrap.inner{
            padding: 0;
            position: relative;
            width: 100%;
            height: 100%;
        }
        &::before {
            width: 42px;
            height: 20px;
            font-size: 16px;
            color: #fff;
            line-height: 20px;
            font-size: 16px;
            padding-left: 4px;
        }
    }
    .design01{
        display: inline-block;
        border: 3px solid #333;
        padding: 10px 80px;
        margin: 15px 0;
    }
    .sub_ttl_mv {
        margin-top: 10px;
        font-size: 14px;
        padding-left: 1.6vw;
        text-align: left;
        .txt{
            padding: 6px 18px;
        }

    }
    .search_front {
        .wrap_select{
            &.flex.center {
                -webkit-justify-content: start;
                justify-content: start;
            }
        }
        .select_wrap {
            width: calc((100% - 20px) / 2);
        }
    }
    .flow {
        & > li {
            width: 70%;
            .txt {
                font-size: 16px;
                height: auto;
            }
            .txt_area {
                padding: 15px;
                font-size: 13px;
                border-radius: 25px;
                background: #fff;
                margin-top: 6px;
            }
        }
    }
    main{
        overflow: hidden;
    }
    .box_three01{
        gap: 50px;
        margin-bottom: 75px;
        & > li{
                width: 345px;
            .ttl{
                font-size: 19px;
                padding: 0 18px;
                &::before,&::after {
                    content: '';
                    width: 3px;
                    height: 40px;
                    background-color: var(--color-prim);
                }
                &::before {
                    margin-right: 30px;
                    transform: rotate(-35deg)
                }
                &::after {
                    margin-left: 30px;
                    transform: rotate(35deg)
                }
            }
            .txt{
                font-size: 16px;
                margin-top: 18px;
                line-height: 1.6;
            }
            .img{
                width: 200px;
                height: 200px;
            }
           
        }
    }
    #AcrTri{
        display: inline-block;
        position: relative;
        padding-right: 16px;
        &::before{
            content: '';
            border-bottom: 0;
            position: absolute;
            right: 0px;
            top: 0;
            bottom: 0;
            margin: auto;
            width: 0;
            height: 0;
            border-right: 6.25px solid transparent;
            border-left: 6.25px solid transparent;
            border-top: 7.5px solid #333;
            pointer-events: all;
        }
    }
}

/*  ranking-custom
----------------------------------------------------------*/
.ttl_ranking01 {
    display: inline-block;
    position: relative;
    overflow: hidden;
    padding: 1.5rem 4rem 1.5rem 130px;
    border: 2px solid #000;
    &::before {
        position: absolute;
        top: -150%;
        left: -100px;
        width: 200px;
        height: 300%;
        content: '';
        -webkit-transform: rotate(25deg);
        transform: rotate(25deg);
        background: #000;
    }
    & span {
        font-size: 40px;
        font-size: 4rem;
        position: absolute;
        z-index: 1;
        top: -6px;
        left: 0;
        display: block;
        padding-top: 3px;
        padding-left: 16px;
        color: #fff;
    }
}
.item_ranking{
    position: relative;
    margin-top: 60px;
    margin-bottom: 175px;
    .col_l{
        width: 28%;
        .sticky{
            position: sticky;
            top: 40px;
        }
        .img{
            font-size: 0;
        }
    }
    .col_r{
        width: 72%;
        padding-left: 50px;
        .txt_head{
            margin-bottom: 60px;
            strong{
                text-decoration: underline;
            }
        }
    }
}
.tri,.cir,.crs,.dcir{
    display: block;
    line-height: 1;
    font-size: 3rem;
    padding-bottom: 10px;
}
.tbl03{
    width: 100%;
    text-align: center;
    margin-bottom: 25px;
    font-size: 16px;
    & strong{
        font-size: 22px;
        color: #D81E1E;
    }
    & thead{
        display: flex;
        & > tr{ 
            &:nth-of-type(1){width: 80px;}
            &:nth-of-type(2){width: 165px;}
            &:nth-of-type(3){width: 120px;}
            &:nth-of-type(4){width: 175px;}
            &:nth-of-type(5){width: 170px;}
            &:nth-of-type(6){width: 150px;}
            &:nth-of-type(7){width: 150px;}
            &:nth-of-type(8){width: 100px;}

            & > th{
                display: block;
            width: 100%;
            height: 100%;
            line-height: 1.25;
            background-color: #333;
            color: #fff;
            font-size: 14px;
            padding: 5px 0;
            text-align: center;
            letter-spacing: 0.049em;
            border-left: 1px solid var(--color-bg-main);
            }
        }
    }
    & tbody{
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #eee;
    }
    & tbody > tr{
        
        border-left: 1px solid var(--color-bg-main);
        &:nth-of-type(1){width: 80px;}
            &:nth-of-type(2){width: 165px;}
            &:nth-of-type(3){width: 120px;}
            &:nth-of-type(4){width: 175px;}
            &:nth-of-type(5){width: 170px;}
            &:nth-of-type(6){width: 150px;}
            &:nth-of-type(7){width: 150px;}
            &:nth-of-type(8){width: 100px;}
        & > *{
            display: inline-block;
            padding: 15px 0;
            line-height: 1.25;
            vertical-align: middle;
            width: 100%;
            height: 110px;
            position: relative;
        }
    }
    .tri,.cir,.crs,.dcir{
       position: absolute;
       left: 0;
       right: 0;
       bottom: 5px;
       margin: auto;
    }
}
.tbl_cap{
    font-size: 14px;
}



table thead {
        position: sticky;
        top: 10px;
        z-index: 10;
}
strong + span{
    color: #D81E1E;
}
strong + span + span{
    color: #D81E1E;
}
.button01 {
    overflow:hidden;
    text-transform: none;
    margin: 0 auto;
    padding: 0;
    max-width:700px;
    width:100%;
    color: #2a2a2a;
    border-radius: 5px;
    background-image: linear-gradient( 135deg, #ffc300 10%, #DE4313 100%);
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    height: 80px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, .3);
    position: relative;
    z-index: 1;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    position:relative;
    color: #fff;

    & span{
        padding-left: 36px;
        position: relative;
        &::before{
            top: 0;
            bottom: 0;
            left: 0px;
            margin: auto;
            position: absolute;
            content: '';
            width: 0;
            height: 0;
            border-style: solid;
            border-top: 12px solid transparent;
            border-bottom: 12px solid transparent;
            border-left: 21px solid #fff;
            border-right: 0;
        }

    }
    
    &.shiny:after{
      position:absolute;
      top:-200%;
      left:-150%;
      content:"";
      height:500%;
      width:70px;
      background:linear-gradient(90deg, rgba(255,255,255,0),rgba(255,255,255,0.6) 40%,rgba(255,255,255,0),rgba(255,255,255,0.6),rgba(255,255,255,0));
      transform: rotate(60deg);
      animation:3s shine infinite linear;
    }
  }
  .button01.higher{
    height: 80px;
    font-size: 24px;
  }
  @keyframes shine{
    0%{
      left:-100%;
    }
    80%{
      left:150%;
    }
    100%{
      left:150%;
    }
  }

@media (max-width: 1280px) {
    .item_ranking{
        margin-bottom: 120px;
        .col_l{
            width: 100%;
            margin-bottom: 60px;
            .sticky{
                position: sticky;
                top: 40px;
            }
        }
        .col_r{
            width: 100%;
            padding-left: 0px;
        }
    }
    .tbl03 {
        & thead {
            & > tr {
                & > th {
                    font-size: 12px;
                }
            }
        }
        & tbody > tr {
            & > * {
                font-size: 14px;
            }
        }
    }
    .wrap_karumo {
        .col_l {
            width: 325px;
            margin: 0 auto 60px;
        }
        .col_r {
            width: 375px;
            margin-bottom: 0px;
            padding-left: 0;
            margin: 0 auto 60px;
        }
    }

}
@media(max-width: 767px) {
    .table-area {
        width: 100%;
        margin: 0 auto 50px;
        overflow-x: scroll;
    }
    .tbl01{
        width: 100%;
        min-width: 100%;
        margin-bottom: 25px;
    }
    table thead {
        position: relative;
        top: 0px;
        z-index: 10;
    }
    .tbl01 {
        & thead {
            & > tr > th {
                border-left: 4px solid var(--color-bg-main);
                border-bottom: 4px solid var(--color-bg-main);
                padding: 5px;
                font-size: 8px;
                &:nth-child(1) {
                    width: auto;
                }
                &:nth-child(2) {
                    width: auto;
                    font-size: 8px;
                }
            }
        }
    }
    .tbl01 {
        & tbody > tr {
            & > * {
                padding: 3px;
                &:first-child {
                    font-size: 11px;
                    position: sticky;
                    left: 0;
                    z-index: 10;
                }
            }

                & > td {
                padding-bottom: 8px;
                padding-top: 8px;
            }
        }
        &.tbl02{
            & > thead > tr > td:first-of-type{
                width: 115px;
            }
        }
    }
    .tbl_caps{
        font-size: 14px;margin-bottom: 15px;text-align: center;
    }
    .item_ranking{
        margin-bottom: 60px;
        margin-top: 30px;
        .col_l{
            width: 100%;
            margin-bottom: 30px;
            .sticky{
                position: sticky;
                top: 40px;
            }
          
        }
        .col_r{
            width: 100%;
            padding-left: 0px;
            .txt_head {
                margin-bottom: 30px;
            }
        }
    }
    .tbl03{
        display: flex;
        & thead{
            display: block;
            & > tr{ 
                background: #333;
                padding: 0px 0;
                &:nth-of-type(n){width: 100%;}
                & > th{
                    width: 115px;
                    height: 45px;
                    line-height: 45px;
                    text-align: center;
                    padding: 0;
                }
            }
        }
        & tbody {
            display: block;
            width: calc(100% - 115px);
            & > tr{
            border-left: none;
            &:nth-of-type(n){width: calc(100% - 0px);}
            > * {
                height: 45px;
                display: flex;
                align-items: center;
                padding-left: 48px;
                width: 100%;
                }
            }
        }
        .tri, .cir, .crs, .dcir {
            position: absolute;
            left: 15px;
            right: auto;
            bottom: 0;
            margin: auto;
            height: 16px;
            top: 0;
        }
    }
    .txt02{
        font-size: 16px;
        padding: 0 18px;
    }
    .button01 {
        font-size: 16px;
        height: 60px;
        & span{
            padding-left: 20px;
            &::before{
                border-top: 6px solid transparent;
                border-bottom: 6px solid transparent;
                border-left: 10.5px solid #fff;
            }
        }
    }
    .button01.higher {
        height: 60px;
        font-size: 16px;
    }

    .tri,.cir,.crs,.dcir{
        font-size: 1.6rem;
        padding-bottom: 5px;
    }

    td > .button01{
        width: 100%;
        height: 36px;
        font-size: 10px;
        & span{
            padding-left: 15px;
            &::before{
                border-top: 6px solid transparent;
                border-bottom: 6px solid transparent;
                border-left: 10.5px solid #fff;
            }
        }
    }

}
/*  -custom
----------------------------------------------------------*/
.note-mark{
    padding-left: 10px;
}
.two_col_area{
    gap: 30px;
    margin: 30px 0;
    .inner_col_r{
        width: calc((100% - 30px) /2);
        background: #fff;
        padding: 25px;
        &.w100{
            width: 100%;
        }
    }
    .inner_col_l{
        width: calc((100% - 30px) /2);
        background: #fff;
        padding: 25px;
        &.w100{
            width: 100%;
        }
    }
    .inner_ttl{
        position: relative;
        padding: 0 0 0 20px;
        margin-bottom: 15px;
        & span{
            padding: 5px 10px;
            background: #fff;
            position: relative;
        }
        &::before{
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            margin: auto;
            width: 100%;
            height: 4px;
            background: var(--color-prim);
        }

    }
    .inner_sub_ttl{
        text-decoration: underline;
        margin-bottom: 15px;
    }
    .inner_txt01{
        margin-bottom: 15px;
        font-size: 15px;
    }
    .inner_caption{
        display: block;
        width: 100%;
        line-height: 1;
        font-size: 14px;
        padding-top: 5px;
        color: #333!important;
    }
    .inner_txt01 + .inner_sub_ttl{
        margin-top: 45px;
    }

}
table.tbl03 thead{
    position: relative;
}
.txt_sgl_service{
    font-size: 14px;
    text-align: center;
    margin-bottom: 3rem;
}
.txt_sgl_service02{
    font-size: 14px;
}
.list_sgl_service{
    margin-bottom: 3rem;
    font-size: 14px;
    line-height: 2;
    border: 1px solid #ddd;
    border-bottom: none;
        & dt{
            padding: 1rem 1.5rem;
            width: 20%;
            border-bottom: 1px solid #ddd;
            border-right: 1px solid #ddd;
        }
        & dd{
            padding: 1rem 1.5rem;
            width: 80%;
            border-bottom: 1px solid #ddd;
        }
}
.main_search{
    padding-bottom: 25px;
}
.txt_search{
    text-align: center;
}
@media(max-width: 1280px) {
    
}
@media(max-width: 767px) {
    .txt_search{
        text-align: left;
        font-size: 14px;
    }   
    .wrap_karumo {
        & .col_l {
            .sub_txt {
                font-size: 30px;
            }
        }
        & .col_r {
            & .list {
                & >li {
                    font-size: 2rem;
                }
            }
        }
    }
    .txt_center.sp_left{
        text-align: left;
    }   
    .list01 {
        padding: 20px 20px;
        font-size: 13px;
        & > li {
        margin-bottom:2rem;
        padding-left: 40px;
        &::before{
            width: 30px;
            height: 30px;
            top: 0;
            }
        }
    }
    .wrap_foot_stick {
        padding-bottom: 0;
    }
    .two_col_area{
        gap: 30px;
        margin: 30px 0;
        .inner_col_r{
            width: 100%;
        }
        .inner_col_l{
            width: 100%;
         }    
    }
    
    .ttl_ranking01 {
        & span {
            top: -7px;
            bottom: 0;
            margin: auto;
            line-height: 1;
            height: min-content;
        }
    }
}