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

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

	custom　台紙入れ替えタンブラー

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

.item-sort dl.sort-tag {
    display: none;
}

/*------------------------------------------------------------------------------
  main-img
------------------------------------------------------------------------------*/
.main-img {
    margin-bottom: 3rem;
}

.main-img + p {
    margin-bottom: 5rem;
}


/*------------------------------------------------------------------------------
  about-cont
------------------------------------------------------------------------------*/
.container .main-contents > section.about-cont {
    margin-bottom: 12rem;
}

.about-cont * {
    letter-spacing: .08em;
}
.about-cont .h-about {
    background: #10c2d5;
    border-radius: 2.5rem 2.5rem 0 0;
    font-size: 3rem;
    color: #FFF;
    font-weight: bold;
    text-align: center;
    padding: 2.5rem;
}

.about-cont .inner {
    background: #4cddec;
    border-radius: 0 0 2.5rem 2.5rem;
    padding: 2.5rem 3rem 19rem;
    position: relative;
}
.about-cont .inner .lead {
    text-align: center;
    color: #FFF;
    font-weight: bold;
    font-size: 2.2rem;
    margin-bottom: 2.5rem;
}

@media screen and (max-width: 810px) {
    .about-cont .inner {
        padding: 5% 3rem 27%;
    }
}

@media screen and (max-width: 480px) {
    .about-cont .h-about {
        font-size: 2.3rem;
    }

    .about-cont .inner .lead {
        font-size: 15px;
        margin-bottom: 1.5rem;
    }
}

.about-cont .about-list {
    display:flex;
	justify-content: center;
    gap: 0 3.5rem;
    margin-bottom: 4rem;
}
.about-cont .about-list li {
    position: relative;
}
.about-cont .about-list li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -3rem;
    top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);

    width: 0;
    height: 0;
    border-style: solid;
    border-top: 1.5rem solid transparent;
    border-bottom: 1.5rem solid transparent;
    border-left: 2rem solid #fff;
    border-right: 0;
}


@media screen and (max-width: 810px) {
    
}

@media screen and (max-width: 480px) {
    .about-cont .about-list {
        margin-bottom: 3rem;
    }

    .about-cont .about-list {
        flex-flow: row wrap;
    }

    .about-cont .about-list li {
        width: calc(50% - 20px);
    }
    .about-cont .about-list li:last-child {
        width: 70%;
    }

    .about-cont .about-list li:not(:nth-child(1))::after {
        content: none;
    }
}

.about-cont .hukidashi {
    color: #10c2d5;
    font-size: 2rem;
    font-weight: bold;
    background: #FFF;
    width: fit-content;
    padding: 1rem 3rem;
    line-height: 1.3;
    border-radius: 100px;
    position: relative;
    margin: 0 auto;
    text-align: center;
    min-width: 490px;
    box-sizing: border-box;
}
.about-cont .hukidashi:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 9px solid transparent;
    border-left: 9px solid transparent;
    border-top: 16px solid #ffffff;
    border-bottom: 0;
    position: absolute;
    bottom: -14px;
    left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}

@media screen and (max-width: 810px) {
    .about-cont .hukidashi {
        min-width: auto;
    }
}

@media screen and (max-width: 480px) {
    .about-cont .hukidashi {
        font-size: 1.7rem;
        min-width: auto;
    }
}

.about-cont .img {
    position: absolute;
    bottom: -5rem;
    left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
    pointer-events: none;
}
@media screen and (max-width: 810px) {
    .about-cont .img {
        width: 75%;
    }
}

@media screen and (max-width: 480px) {

}


/*------------------------------------------------------------------------------
  template-cont
------------------------------------------------------------------------------*/
.template-cont .template-box {
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0px 1px 2.85px 0.15px rgba(0, 0, 0, 0.15);
    margin-bottom: 7rem;
}

.template-cont .template-box dt {
    text-align: center;
    color: #FFF;
    font-weight: bold;
    font-size: 2.3rem;
    background: #4cddec;
    padding: 1.5rem 3rem;
}

.template-cont .template-box dd {
    background: #cbf0f4;
    padding: 5rem;
    display:flex;
	flex-flow: row wrap;
	justify-content: space-between;
    align-items: center;
}

@media screen and (max-width: 810px) {

}

@media screen and (max-width: 480px) {
    .template-cont .template-box dd {
        padding: 3rem;
    }
}


/**/
.template-cont .template-box dd .cont-r {
    width: 480px;
}

.template-cont .template-box dd .cont-r div {
    position: relative;
    padding-left: 25px;
}
.template-cont .template-box dd .cont-r div:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 17px solid #4cddec;
    border-right: 0;
    position: absolute;
    left: 0;
    top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.template-cont .template-box dd .cont-r div:not(:last-child) {
    margin-bottom: 2.5rem;
}

.template-cont .template-box dd .cont-r div img {
    position: absolute;
    right: -25px;
    top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
    width: 180px;
}

.template-cont .template-box dd .cont-r p {
    font-size: 1.5rem;
    font-weight: bold;
    padding: 2rem 170px 2rem 2.5rem;
    background: #FFF;
    border-radius: 1rem;
}

@media screen and (max-width: 810px) {
    .template-cont .template-box dd .cont-l {
        width: 220px;
    }

    .template-cont .template-box dd .cont-r {
        width: calc(100% - 250px);
    }

    .template-cont .template-box dd .cont-r div img {
        width: 30%;
        right: -5%;
    }

    .template-cont .template-box dd .cont-r p {
        padding-right: 30%;
    }
}

@media screen and (max-width: 680px) {
    .template-cont .template-box dd .cont-l,
    .template-cont .template-box dd .cont-r {
        width: 100%;
    }

    .template-cont .template-box dd .cont-l {
        text-align: center;
        margin-bottom: 40px;
        position: relative;
    }

    .template-cont .template-box dd .cont-l:after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-right: 11px solid transparent;
        border-left: 11px solid transparent;
        border-top: 14px solid #4cddec;
        border-bottom: 0;
        position: absolute;
        bottom: -25px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
    }

    .template-cont .template-box dd .cont-l img {
        max-width: 240px;
    }

    .template-cont .template-box dd .cont-r div:not(:last-child) {
        margin-bottom: 1.5rem;
    }

    .template-cont .template-box dd .cont-r div {
        padding-left: 0;
    }
    .template-cont .template-box dd .cont-r div::before {
        content: none;
    }
}


/*------------------------------------------------------------------------------
  download-cont
------------------------------------------------------------------------------*/
.download-cont table {
    width: 100%;
    color: #4a4a4a;
}

.download-cont table tr { 
    border-bottom: 1px solid #d2d2d2;
    transition: all 0.3s ease-out;
}

.download-cont table tr:not(:first-child):hover { 
    background: #e2fafd;
}

.download-cont table .first {
    background: #f5f5f5;
}

.download-cont table .first th {
    padding: 1rem 2rem;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 1.5rem;
}
.download-cont table .first th:nth-child(1) { width: 170px; }
.download-cont table .first th:nth-child(3) { width: 200px; }

.download-cont table td {
    padding: 1rem 2rem;
    font-size: 1.5rem;
}

.download-cont table td a {
    display: block;
    background: #212121;
    border-radius: 1rem;
    box-shadow: 0px 2px 2.85px 0.15px rgba(0, 0, 0, 0.18);
    text-align: center;
    color: #FFF;
    font-weight: bold;
    padding: 1.3rem 40px 1.3rem 1.5rem;
    font-size: 1.4rem;
    position: relative;
}
.download-cont table td a:after {
    content: "";
    background: url(../../../../_images/type/tumbler/custom/icon-arrow.webp);
    width: 18px;
    height: 16px;
    position: absolute;
    right: 17px;
    top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.download-cont table td a:hover {
    opacity: 1;
    background: #27d9ec;
}


@media screen and (max-width: 810px) {
    .download-cont table .first th:nth-child(1) { width: 90px; }
    .download-cont table .first th:nth-child(3) { width: 200px; }
}

@media screen and (max-width: 480px) {
    .download-cont table .first th:nth-child(3) { width: 130px; }
    .download-cont table td:nth-child(2) {
        padding: 1rem 0;
    }
}


/*------------------------------------------------------------------------------
  voice-cont
------------------------------------------------------------------------------*/
.voice-cont .voice-list {
    display:flex;
	flex-flow: row wrap;
	justify-content: space-between;
    gap: 3rem;
}

.voice-cont .voice-list li {
    width: 280px;
    border-radius: 1rem;
    padding: 170px 3rem 2.5rem;
    position: relative;
    box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
}
.voice-cont .voice-list li:before {
    content: "";
    display: block;
    width: 135px;
    height: 135px;
    position: absolute;
    top: 20px;
    left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
}
.voice-cont .voice-list li:nth-child(1):before { background: url(../../../../_images/type/tumbler/custom/voice-1.gif); }
.voice-cont .voice-list li:nth-child(2):before { background: url(../../../../_images/type/tumbler/custom/voice-2.gif); }
.voice-cont .voice-list li:nth-child(3):before { background: url(../../../../_images/type/tumbler/custom/voice-3.gif); }

.voice-cont .voice-list li div {
    text-align: center;
    color: var(--main-color);
    font-size: 14px;
    margin-bottom: 2rem;
}

.voice-cont .voice-list li dt {
    font-weight: bold;
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.voice-cont .voice-list li p {
    color: #4a4a4a;
}

@media screen and (max-width: 810px) {
    .voice-cont .voice-list {
        overflow-x: scroll;
        width: calc(100% + 40px);
        margin: 0 -20px;
        flex-wrap: nowrap;
        gap: 0 20px;
        padding: 0 20px 20px;
        box-sizing: border-box;
    }
    
    .voice-cont .voice-list > li {
        flex-shrink: 0;
        width: 230px !important;
    }
}


/*------------------------------------------------------------------------------
  qa-cont
------------------------------------------------------------------------------*/
.qa-cont {
    margin-bottom: 9rem;
}

.qa-cont .qa-list dl {
    border-radius: 1rem;
    box-shadow: 0px 1px 6px 0px rgba(0, 0, 0, 0.15);
    padding: 4rem 5rem;
}

.qa-cont .qa-list dl:not(:last-child) {
    margin-bottom: 2rem;
}

.qa-cont .qa-list dl dt {
    font-weight: bold;
    font-size: 1.6rem;
    letter-spacing: .08em;
    margin-bottom: 2rem;
    line-height: 1.5;
}

.qa-cont .qa-list dl dt,
.qa-cont .qa-list dl dd {
    padding-left: 6rem;
    position: relative;
}

.qa-cont .qa-list dl dt:before,
.qa-cont .qa-list dl dd:before {
    content: "";
    width: 4rem;
    height: 4rem;
    position: absolute;
    left: 0;
    font-weight: bold;
    font-size: 1.9rem;
    display:flex;
	justify-content: center;
	align-items: center;
    border-radius: 50%;
}

.qa-cont .qa-list dl dt:before {
    content: "Q";
    background: #f5f5f5;
    color: #b2b2b2;
    top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}

.qa-cont .qa-list dl dd:before {
    content: "A";
    background: #ff5723;
    color: #FFF;
    top: .5rem;
}

@media screen and (max-width: 480px) {
    .qa-cont .qa-list dl {
        padding: 3rem;
    }
    
    .qa-cont .qa-list dl dt {
        margin-bottom: 1rem;  
    }
}




/*------------------------------------------------------------------------------
  other-link
------------------------------------------------------------------------------*/
.main-contents .other-link {
    margin-bottom: 5rem;
}

.main-contents .other-link > section:not(:last-child) {
    margin-bottom: 3rem;
}

.other-link .h-other {
    font-size: 2rem;
    color: #35333f;
    padding-bottom: 5px;
    margin-bottom: 2.5rem;
    border-bottom: 1px solid #35333f;
    text-align: center;
    font-weight: bold;
    letter-spacing: .08em;
}

.other-link ul {
    display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
    gap: 1.5rem calc((100% - 840px) / 3);
}

.other-link ul li {
    width: 210px;
}

@media screen and (max-width: 810px) {
    .other-link ul {
        gap: 1.5rem calc((100% - 92%) / 3);
    }

    .other-link ul li {
        width: 23%;
    }
}

@media screen and (max-width: 480px) {
    .other-link ul {
        gap: 1.5rem 3.5%;
    }

    .other-link ul li {
        width: 31%;
    }
}





