@charset "UTF-8";

@import url(top/seeking.css);
@import url(top/commitment.css);

/* .card {
	margin: 30px 0;
}
.card-header {
	background-color: #b9c42f;
}
.form-select {
	margin: 5px 0 15px;
}
.form-control {
	margin: 5px 0 15px;
}
.checklabel {
	margin-right: 20px;
} */

/*モーダルを開くボタン*/
/*
.modal-open{
	position: fixed;
	display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    left: 50%;
	width: 300px;
	height: 50px;
	font-weight: bold;
	color: #fff;
	background: #000;
	margin: auto;
	cursor: pointer;
	transform: translate(-50%,-50%);
}
*/

main {
    position: relative;
    overflow: hidden;
    min-height: 100vh;
}

/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0, 0, 0, 50%);
    padding: 40px 20px;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    box-sizing: border-box;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active {
    opacity: 1;
    visibility: visible;
}
/*モーダル枠の指定*/
.modal-body {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 500px;
    width: 90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: -40px;
    right: -40px;
    width: 40px;
    height: 40px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content {
    background: #fff;
    text-align: left;
    padding: 30px;
}

#overlay {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    z-index: 2147483647;
}

/* ふわっと出す */
.scroll-trigger {
    opacity: 0;
}
.scroll-animation {
    -webkit-animation: 1s fade-in forwards;
    animation: 1s fade-in forwards;
}
@-webkit-keyframes fade-in {
    0% {
        opacity: 0;
        transform: translate3d(0, 15px, 0);
    }
    100% {
        opacity: 1;
    }
}
@keyframes fade-in {
    0% {
        opacity: 0;
        transform: translate3d(0, 15px, 0);
    }
    100% {
        opacity: 1;
    }
}

.wideGrass{
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    display:flex;
    overflow: hidden;
}
.wideGrass canvas{
    width:100%;
}
@media only screen and (max-width: 749px) {
    .wideGrass canvas{
        width:260%;
    }
}

/* header */
.js-logined,
.js-not-logined {
    display: none;
}
.js-logined.is-active,
.js-not-logined.is-active {
    display: block;
}
#header {
    width: 100%;
    height: 140px;
    position: fixed;
    transition: all 0.3s;
    z-index: 10;
    /* background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px); */
}
#header .inner {
    max-width: 1180px;
    padding: 50px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-logo svg {
    transition: all 0.3s;
}

/* .bg-color #header {
	color: #F0F4F4;
}
.bg-color #header .header-logo svg path,
.bg-color #header .header-login svg path {
	fill: #fff;
}
.bg-color #header .header-login a {
	border-color: #fff;
} */

.header-menu {
    display: flex;
    line-height: 1;
}
.header-menu li:not(:last-of-type) {
    margin-right: 40px;
}
.header-login a {
    display: flex;
    align-items: center;
    background: rgba(240, 244, 244, 0.05);
    border: 1px solid #0b342d;
    border-radius: 60px;
    padding: 11px 33px;
    line-height: 1;
}
.header-login svg {
    margin-right: 6px;
}
.header-menu-sp {
    display: none;
}

/* scroll付与時 */
#header.scroll {
    height: 80px;
    font-size: 14px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
#header.scroll .inner {
    padding: 20px;
}
#header.scroll .header-logo svg {
    height: 36px;
}

@media only screen and (max-width: 999px) {
    #header {
        height: 92px;
        z-index: 2;
    }
    #header .inner {
        padding: 30px 30px;
    }
    .header-logo svg {
        width: 113px;
        height: 32px;
    }
    .header-login {
        font-size: 12px;
        position: absolute;
        right: 65px;
    }
    .header-login a {
        padding: 8px 18px;
    }

    /* scroll付与時 */
    #header.scroll {
        height: 52px;
        font-size: 11px;
    }
    #header.scroll .inner {
        padding: 10px 30px;
    }
    #header.scroll .header-logo svg {
        height: 28.8px;
    }
    #header.scroll .header-login {
        font-size: 11px;
    }

    /* sp menu */
    .header-menu-sp {
        position: fixed;
        top: 0;
        z-index: 2;
        width: 100%;
        height: 100vh;
        background: #F0F4F4 url(../images/common/sp-menu-bg.png) no-repeat center center;
        background-size:144% 105%;
    }
    .header-menu-sp-header {
        height: 92px;
    }
    .header-menu-sp .inner {
        padding: 30px 30px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .header-menu {
        display: block;
        text-align: center;
        margin-top: 100px;
    }
    .header-menu li:not(:last-of-type) {
        margin: 0 0 40px 0;
    }
}

/* footer */
#footer {
    position: relative;
    color: #f0f4f4;
    background-image: url(../images/top/footer-bg-pc.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #f0f4f4;
}
#footer.top-footer {
    background-color: #bddbe1;
}
#footer .inner {
    padding: 239px 20px 30px;
    max-width: 1120px;
}
.footer-menu-top {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-bottom: 80px;
}
.footer-menu-wrapper {
    display: flex;
    justify-content: space-between;
}
.footer-menu-link {
    display: flex;
    margin-right: 80px;
}
.footer-menu-link ul:first-of-type {
    margin-right: 60px;
}
.footer-menu-link ul li {
    font-weight: 500;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0.08em;
}
.footer-menu-link ul li:not(:last-of-type) {
    margin-bottom: 40px;
}
.footer-facebook {
    width: 257px;
    height: 272px;
}
.footer-facebook iframe {
    display: block;
    margin: 0 auto;
}
.fb_iframe_widget {
    border-radius: 10px;
    overflow: hidden;
}
.footer-logo {
    margin-right: 20px;
}
.footer-logo-img {
    margin-bottom: 40px;
}
.footer-logo-img img {
    width: 206px;
    height: 58px;
}
.footer-logo-address {
    font-weight: 500;
    font-size: 10px;
    line-height: 180%;
    letter-spacing: 0.08em;
}
.footer-line {
    width: 100%;
    height: 1px;
    background: #f0f4f4;
    opacity: 0.2;
    border-radius: 10px;
}
.footer-copy {
    font-weight: 500;
    font-size: 10px;
    line-height: 100%;
    letter-spacing: 0.08em;
    text-align: center;
    padding-top: 30px;
}
#footer.no-footer {
    display: none;
}

@media only screen and (max-width: 959px) {
    .footer-menu-link {
        margin-right: 30px;
    }
    .footer-menu-link ul:first-of-type {
        margin-right: 20px;
    }
}
@media only screen and (max-width: 749px) {
    #footer {
        background-image: url(../images/top/footer-bg-sp.png);
        background-position: center;
    }
    #footer .inner {
        padding: 109px 40px 21px;
    }
    .footer-menu-top {
        display: block;
        margin-bottom: 29px;
    }
    .footer-menu-wrapper {
        display: block;
    }
    .footer-menu-link {
        margin: 0 0 60px 0;
        justify-content: space-between;
    }
    .footer-menu-link ul:first-of-type {
        margin: 0;
    }
    .footer-menu-link ul li {
        line-height: 140%;
    }
    .footer-facebook {
        width: 100%;
        height: 300px;
        margin-bottom: 60px;
    }
    .footer-logo {
        display: flex;
        justify-content: space-between;
        margin-right: 0;
    }
    .footer-logo-img {
        margin-bottom: 0;
        width: 48%;
    }
    .footer-logo-address {
        width: 48%;
    }
    .footer-copy {
        padding-top: 20px;
        font-size: 10px;
        transform: scale(0.8);
    }
}

/* 上に戻る */
.page-top {
    position: absolute;
    right: 91px;
    bottom: 353px;
}
.page-top-wrapper {
    position: relative;
}
.page-top-circle {
    width: 50px;
    height: 50px;
    background: #ffffff;
    opacity: 0.8;
    border-radius: 50%;
}
.page-top-arrow {
    color: #16757b;
    line-height: 1;
    width: 18px;
    height: 18px;
    transform: rotate(-45deg);
    position: absolute;
    top: 20px;
    left: 16px;
}
.page-top-arrow::before,
.page-top-arrow::after {
    content: "";
    position: absolute;
    background: currentColor;
    border-radius: 5px;
}
.page-top-arrow::before {
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
}
.page-top-arrow::after {
    top: 0;
    right: 0;
    bottom: 0;
    width: 4px;
}
.page-top p {
    font-weight: 700;
    font-size: 10px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-top: 10px;
}
@media only screen and (max-width: 1369px) {
    .page-top {
        bottom: 440px;
    }
}

/* TOP メイン */
.top {
}
#kv {
    width: 100%;
    position: relative;
    overflow: hidden;
}
#kv .wave {
    margin-top: -20vw;
}
.kv-bg {
    width: 100vw;
    height: calc(1800vw / 2400 * 100);
    background: url(/images/top/kv/kv.jpg) no-repeat center center;
    background-size: cover;
    max-height:100vh;
    padding-bottom:150px;
    box-sizing: content-box;
}
.kv-text {
    position: absolute;
    top: 42%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    pointer-events: none;
}

@keyframes fadeUpAnime{
    from {
        opacity: 0;
        transform:translateY(20px);
    }

    to {
        opacity: 1;
        transform:translateY(0);
    }
}
.kv-items{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    animation:fadeUpAnime 2s 0.5s forwards;
    opacity:0;
}
.kv-item {
    position: absolute;
    background: url(/images/top/kv/1.png) no-repeat 0 0;
    background-size: 100%;
}
.kv-item-01 {
    width: 490px;
    height: 207px;
    left: -99px;
    top: 179px;
    background-image: url(/images/top/kv/1.png);
}
.kv-item-02 {
    width: 485px;
    height: 266px;
    right: -129px;
    top: 159px;
    background-image: url(/images/top/kv/2.png);
}
.kv-item-03 {
    width: 469px;
    height: 150px;
    left: -277px;
    top: 335px;
    background-image: url(/images/top/kv/3.png);
}
.kv-item-04 {
    width: 380px;
    height: 113px;
    right: -212px;
    top: 413px;
    background-image: url(/images/top/kv/4.png);
}
.kv-item-05 {
    width: 151px;
    height: 51px;
    right: 237px;
    top: 445px;
    background-image: url(/images/top/kv/5.png);
}

@media only screen and (max-width: 749px) {
    .kv-text {
        width: 80px;
    }
    .kv-bg {
        width: 100vw;
        height: calc(625vw / 400 * 100);
        background-size: 240vw;
        background-position: -10vw -10vw;
        padding-bottom:0;
    }
    #kv .wave {
        margin-top: -30vw;
    }
}

.wave {
    position: relative;
    width: 100vw;
    height: 25vw;
}
.wave canvas {
    width: 100%;
    height: 100%;
}

@media only screen and (max-width: 1200px) {
    .wave {
        height: 30vw;
    }
    .kv-item-01 {
        width: calc(100vw / 1200 * 490);
        height: calc(100vw / 1200 * 207);
        left: calc(100vw / 1200 * -99);
        top: calc(100vw / 1200 * 179);
    }
    .kv-item-02 {
        width: calc(100vw / 1200 * 485);
        height: calc(100vw / 1200 * 266);
        right: calc(100vw / 1200 * -129);
        top: calc(100vw / 1200 * 159);
    }
    .kv-item-03 {
        width: calc(100vw / 1200 * 469);
        height: calc(100vw / 1200 * 150);
        left: calc(100vw / 1200 * -277);
        top: calc(100vw / 1200 * 335);
    }
    .kv-item-04 {
        width: calc(100vw / 1200 * 380);
        height: calc(100vw / 1200 * 113);
        right: calc(100vw / 1200 * -212);
        top: calc(100vw / 1200 * 413);
    }
    .kv-item-05 {
        width: calc(100vw / 1200 * 151);
        height: calc(100vw / 1200 * 51);
        right: calc(100vw / 1200 * 237);
        top: calc(100vw / 1200 * 445);
    }
}
@media only screen and (max-width: 749px) {
    .wave {
        height: 45vw;
    }
    .kv-item-01 {
        width: calc(100vw / 750 * 490);
        height: calc(100vw / 750 * 207);
        left:calc(100vw / 1200 * -220);
        top: calc(100vw / 1200 * (179 - 250));
    }
    .kv-item-02 {
        width: calc(100vw / 800 * 485);
        height: calc(100vw / 800 * 266);
        right: calc(100vw / 1200 * -200);
        top: calc(100vw / 1200 * (159 - 250));
    }
    .kv-item-03 {
        width: calc(100vw / 1000 * 469);
        height: calc(100vw / 1000 * 150);
        top: calc(100vw / 1200 * (335 - 100));
    }
    .kv-item-04 {
        width: calc(100vw / 1000 * 380);
        height: calc(100vw / 1000 * 113);
        top: calc(100vw / 1200 * (413 - 100));
    }
    .kv-item-05 {
        display: none;
    }
}

.fuwafuwa {
    transform-origin: 0 0;
    position: relative;
}
.fuwafuwa .fuwafuwaShapes div {
    position: absolute;
    border-radius: 100%;
    overflow: hidden;
}
.fuwafuwa .fuwafuwaShapes img {
    position: relative;
}
.fuwafuwa canvas {
    width: 100%;
    height: 100%;
}
.about-top .fuwafuwa {
    width: 600px;
    height: 600px;
}
.about-images .fuwafuwa {
    width: 400px;
    height: 400px;
}

/* TOP about */
#about {
    /* position: relative; */
    background: #fff;
    z-index:1;
}
#about .inner {
    padding: 0 20px;
    max-width: 1120px;
}

.about-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
}
h2.about-title {
    font-weight: 500;
    font-size: 24px;
    line-height: 180%;
    letter-spacing: 0.08em;
    margin-bottom: 40px;
}
.about-text {
    font-weight: 500;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0.08em;
}
.about-this-month {
    position: relative;
    text-align: center;
    pointer-events: none;
}
.about-this-month-text-wrapper {
    position: absolute;
    bottom: -60px;
    right: 0;
    background-image: url(/images/top/this-month-bg.png);
    transform: rotate(-3deg);
    width: 177px;
    height: 140px;
    background-size: contain;
    background-repeat: no-repeat;
}
.about-this-month-text {
    font-weight: 700;
    font-size: 16px;
    line-height: 160%;
    text-align: center;
    color: #ffffff;
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(3deg);
    -webkit-transform: translate(-50%, -50%) rotate(3deg);
    -ms-transform: translate(-50%, -50%) rotate(3deg);
}
.about-this-month-text span {
    font-size: 14px;
}
.about-images {
    display: flex;
    justify-content: space-between;
}
.about-images-item:nth-child(odd) {
    margin: 0 -20px 0 -25px;
}
.about-images-item:nth-child(even) {
    margin: 0 -25px 0 -20px;
}
.about-images-item p {
    font-weight: 500;
    font-size: 18px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    margin: -60px -20px 0;
}

@media only screen and (max-width: 749px) {
    .about .inner {
        padding: 37px 40px 100px;
    }
    .about-top {
        display: block;
        margin-bottom: -20px;
    }
    .about-top-text {
        margin-bottom: 40px;
    }
    h2.about-title {
        font-size: 20px;
        margin-bottom: 32px;
    }
    .about-this-month-text-wrapper {
        width: 130px;
        height: 107px;
        bottom: -40px;
    }
    .about-this-month-text {
        font-size: 14px;
    }
    .about-this-month-text span {
        font-size: 12px;
    }
    .about-images {
        display: block;
    }
    .about-images-item {
        position: relative;
    }
    .about-images-item:nth-child(2n) .fuwafuwa {
        right: -30vw;
    }
    .about-images-item p {
        width: 33%;
        margin: 0;
        font-size: 14px;
        line-height: 140%;
        position: absolute;
        right: 10px;
        top: 26vw;
    }
    .about-images-item:nth-child(2n) p {
        right: auto;
        left: 10px;
    }
}

/* TOP article */
#article {
    position: relative;
    z-index: 1;
}
#article .inner {
    padding: 0 20px 120px;
    max-width: 1120px;
}
#article h2 {
    font-weight: 500;
    font-size: 24px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    color: #0b342d;
    margin-bottom: 56px;
}
.article-form-wrapper {
    max-width: 1080px;
    margin: 0 auto 80px;
    padding: 60px;
    background: #fff;
    border-radius: 10px 60px;
    box-shadow: 0px 0px 40px rgba(31, 98, 86, 0.06);
    position: relative;
}
.article-form {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.article-form label,
.article-form-more-serch label {
    display: block;
    font-weight: 500;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    margin-bottom: 20px;
}
.article-form-keyword {
    width: 47.7%;
}
.seeking-list-page .article-form-keyword {
    width: 87.6%;
}
.article-form-area {
    width: 33.4%;
}
.article-form-attention {
    font-weight: 500;
    font-size: 10px;
    line-height: 100%;
    text-align: right;
    letter-spacing: 0.08em;
    position: absolute;
    top: 68px;
    right: 61px;
}
.article-form-submit {
    width: 98px;
    height: 60px;
}
.article-form-wrapper .and {
    font-weight: 500;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: 0.08em;
    color: #c2cecc;
    margin-bottom: 15px;
}
.article-form-more {
    font-weight: 500;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.article-form-more img {
    margin-right: 16px;
}
.article-form-more-content {
    display: none;
    margin-top: 50px;
}
.article-form-more-serch:not(:last-of-type) {
    margin-bottom: 60px;
}
.article-header {
    margin-bottom: 40px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.article-header-number {
    font-weight: 500;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    padding-bottom: 16px;
}
.article-header-number span.num {
    margin-left: 10px;
    font-size: 28px;
}
.article-header-serch {
    display: flex;
    align-items: center;
}
.article-header-serch .form_select {
    background-color: #fff;
    width: 321px;
    margin-left: 20px;
}
.article-lists {
    display: flex;
    flex-wrap: wrap;
}
.article-card {
    position: relative;
    width: 29.6%;
    margin-bottom: 60px;
    border-radius: 10px 60px;
    box-shadow: 0px 0px 40px rgba(31, 98, 86, 0.06);
    height: 100%;
}
.article-card-content{
    position:relative;
    background: #fff;
    border-radius: 10px 60px;
    width:100%;
    height: 100%;
    overflow: hidden;
    transform: translate3d(0,0,0);
}
.article-card canvas,
.article-card .grass-bg {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}
.article-card .grass-bg {
    height: 100%;
}
.article-card .grass-bg1 {
    background:url(/images/common/grass/1.png) no-repeat bottom left / contain;
}
.article-card .grass-bg2 {
    background:url(/images/common/grass/2.png) no-repeat bottom left / contain;
}
.article-card .grass-bg3 {
    background:url(/images/common/grass/3.png) no-repeat bottom left / contain;
}
.article-card:not(:nth-child(3n)) {
    margin-right: calc((100% - (29.6% * 3)) / 2);
}
.article-card-inner {
    position: relative;
    padding: 32px 40px 30px;
    z-index: 1;
}
.article-image {
    position: relative;
    z-index: 1;
}
.article-ribbon {
    display: inline-block;
    position: absolute;
    left: -5px;
    top: 10px;
    box-sizing: border-box;
    padding: 0 13.5px;
    margin: 0;
    height: 25px;
    font-weight: 700;
    font-size: 14px;
    line-height: 25px;
    color: #fff;
    background: #0d4a6b;
    border-radius: 0px 20px 20px 0px;
    z-index: 2;
}
.article-ribbon:before {
    position: absolute;
    content: "";
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 5px transparent;
    border-right: solid 5px #00304a;
}
.article-card .visual {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    border-radius: 10px 60px 0;
}
.article-card .on {
    background-image: url(/images/common/icon-on.svg);
}
.article-card .off {
    background-image: url(/images/common/icon-off.svg);
}
.article-card .like-btn {
    background-size: contain;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
}
.article-card h3 {
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
}
.article-achievement {
    font-weight: 700;
    font-size: 12px;
    line-height: 180%;
    text-align: center;
    margin-bottom: 22px;
}
.article-message {
    font-weight: 500;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0.08em;
    margin-bottom: 22px;
    /* max-height: 81px; */
    height: 81px;
    overflow: hidden;
}
.article-message span {
    display: block;
    line-height: 100%;
    margin-bottom: 12px;
}
.article-more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
}
.article-more-btn img {
    margin-left: 16px;
}

@media only screen and (max-width: 749px) {
    #article .inner {
        padding: 0 20px 60px;
    }
    #article h2 {
        font-size: 20px;
        margin-bottom: 40px;
    }
    .article-form-wrapper {
        padding: 40px 30px;
        margin-bottom: 40px;
        position: relative;
    }
    .article-form {
        display: block;
    }
    .article-form label,
    .article-form-more-serch label {
        font-size: 16px;
        text-align: center;
    }
    .article-form-keyword {
        width: 100%;
        margin-bottom: 32px;
    }
    .seeking-list-page .article-form-keyword {
        width: 100%;
    }
    .article-form-area {
        width: 100%;
        margin-bottom: 16px;
    }
    .article-form-submit {
        width: 100%;
    }
    .article-form-attention {
        position: relative;
        top: auto;
        right: auto;
        font-size: 11px;
        margin-bottom: 14px;
        text-align: center;
        letter-spacing: 0;
    }
    .article-form-wrapper .and {
        text-align: center;
        margin-bottom: 16px;
        font-size: 20px;
    }
    .article-form-more {
        position: absolute;
        background: #e0f0be;
        width: 100%;
        height: 54px;
        left: 0;
        bottom: 0px;
        border-radius: 0 0 10px 60px;
        font-size: 14px;
    }
    .article-form-more img {
        margin-right: 10px;
        width: 14px;
        height: 14px;
    }
    .article-form-more-content {
        margin-bottom: 50px;
    }
    .article-form-more-serch:not(:last-of-type) {
        margin-bottom: 32px;
    }
    .article-header-number {
        width: 35.7%;
        font-size: 14px;
        padding-bottom: 0;
    }
    .article-header-number span.box {
        display: block;
        width: 100%;
        background: #fff;
        border-radius: 10px;
        height: 50px;
        text-align: center;
        line-height: 50px;
        font-weight: 700;
        margin-top: 10px;
    }
    .article-header-number span.num {
        font-size: 20px;
        margin-left: 0;
    }
    .article-header-serch {
        width: 58.6%;
        display: block;
    }
    .article-header-serch label {
        font-size: 14px;
        line-height: 1;
        margin-bottom: 10px;
        display: block;
        text-align: left;
    }
    .article-header-serch .form_select {
        width: 100%;
        margin-left: 0;
    }
    .article-lists {
        justify-content: space-between;
    }
    .article-lists li:nth-child(n + 7) {
        display: none;
    }
    .article-card {
        width: 48.6%;
        border-radius: 10px 30px;
        margin-bottom: 24px;
    }
    .article-card-content {
        border-radius: 10px 30px;
    }
    .article-card:not(:nth-child(3n)) {
        margin-right: 0;
    }
    .article-ribbon {
        top: 4px;
        padding: 0 11px;
        height: 20px;
        font-size: 12px;
        line-height: 20px;
    }
    .detail-main-image .article-ribbon {
        left: 15px;
    }
    .article-card .visual {
        aspect-ratio: 85 / 48;
        border-radius: 10px 30px 0;
    }
    .article-card .like-btn {
        width: 30px;
        height: 30px;
        bottom: 4px;
        right: 4px;
    }
    .article-card-inner {
        padding: 24px 20px;
    }
    .article-card h3 {
        font-size: 13px;
    }
    .article-achievement {
        font-weight: 500;
        font-size: 12px;
        line-height: 140%;
    }
    .article-more-btn {
        font-size: 16px;
    }
    .article-more-btn img {
        width: 16px;
        height: 16px;
        margin-left: 10px;
    }
}

/* TOP seeking */
#seeking {
    position: absolute;
    top: 640px;
    left: 0;
    width: 100%;
}
#seeking .inner {
    padding: 120px 20px 80px;
    max-width: 1120px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.08em;
}
.seeking-title {
    text-shadow: 0px 0px 20px #0d4a6b;
}
.seeking-title h2 {
    font-size: 24px;
    line-height: 100%;
    margin-bottom: 40px;
}
.seeking-title p {
    font-size: 14px;
    line-height: 200%;
}
.seeking-more-btn {
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #ffffff;
    font-size: 18px;
    line-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.seeking-more-btn img {
    margin-left: 16px;
}
.seeking-lists {
    margin-bottom: 80px;
}
.seeking-lists .slide-arrow.slick-arrow {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 1;
}
.seeking-lists .slick-list {
    overflow: initial;
}
.seeking-lists .slide-arrow.slick-arrow.prev-arrow {
    left: calc(50% - 320.5px);
    transition: all 0.5s;
}
.seeking-lists .slide-arrow.slick-arrow.prev-arrow:hover {
    left: calc(50% - 320.5px - 8px);
}
.seeking-lists .slide-arrow.slick-arrow.next-arrow {
    left: calc(50% + 320.5px);
    transition: all 0.5s;
}
.seeking-lists .slide-arrow.slick-arrow.next-arrow:hover {
    left: calc(50% + 320.5px + 8px);
}
.seeking-card-wrapper {
    width: 581px;
    margin-right: 60px;
    background: #ffffff;
    box-shadow: 0px 0px 40px rgba(31, 98, 86, 0.8);
    border-radius: 10px 60px;
}
.seeking-card {
    display: flex;
}
.seeking-card-inner {
    padding: 32px;
    width: 52.3%;
}
.seeking-image {
    position: relative;
    width: 47.7%;
}
.seeking-ribbon {
    display: inline-block;
    position: absolute;
    left: -5px;
    top: 10px;
    box-sizing: border-box;
    padding: 0 13.5px;
    margin: 0;
    height: 25px;
    font-weight: 700;
    font-size: 14px;
    line-height: 25px;
    color: #fff;
    background: #0d4a6b;
    border-radius: 0px 20px 20px 0px;
}
.seeking-ribbon:before {
    position: absolute;
    content: "";
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 5px transparent;
    border-right: solid 5px #00304a;
}
.seeking-card .visual {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 10px 60px 0px 60px;
    aspect-ratio: 1 / 1;
}
.seeking-card .on {
    background-image: url(/images/common/icon-on.svg);
}
.seeking-card .off {
    background-image: url(/images/common/icon-off.svg);
}
.seeking-card .like-btn {
    background-size: contain;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    position: absolute;
    bottom: 10px;
    right: 8px;
    width: 40px;
    height: 40px;
}
.seeking-card h3 {
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    margin-bottom: 32px;
}
.seeking-message {
    font-weight: 500;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0.08em;
    margin-bottom: 32px;
    height: 81px;
    overflow: hidden;
}
.seeking-message span {
    display: block;
    line-height: 100%;
    margin-bottom: 12px;
}
.seeking-request {
    text-align: center;
}
.seeking-request p {
    margin-bottom: 12px;
    font-weight: 700;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.08em;
    color: #e0f0be;
}
.seeking-request .btn-yellow {
    margin: 0 auto 60px;
}
.seeking-request .uchinoco {
    width: 340px;
}

@media only screen and (max-width: 749px) {
    #seeking {
        padding-bottom: 200px;
    }
    #seeking .inner {
        padding: 60px 0 40px;
        text-align: center;
        display: block;
    }
    .seeking-title h2 {
        font-size: 20px;
        margin-bottom: 32px;
    }
    .seeking-lists {
        margin-bottom: 24px;
    }
    .seeking-lists .slide-arrow.slick-arrow.prev-arrow {
        left: 18px;
    }
    .seeking-lists .slide-arrow.slick-arrow.prev-arrow:hover {
        left: 18px;
    }
    .seeking-lists .slide-arrow.slick-arrow.next-arrow {
        left: auto;
        right: 5px;
    }
    .seeking-lists .slide-arrow.slick-arrow.next-arrow:hover {
        left: auto;
    }
    .seeking-card-wrapper {
        width: calc(100vw - 80px);
        margin-right: 40px;
        border-radius: 10px 40px;
    }
    .seeking-card-inner {
        padding: 20px 20px 0 20px;
        width: 56.5%;
    }
    .seeking-image {
        width: 43.5%;
    }
    .seeking-card .visual {
        border-radius: 10px 40px 0px 0px;
    }
    .seeking-card h3 {
        font-size: 14px;
        margin-bottom: 20px;
    }
    .seeking-message {
        font-size: 11px;
        margin-bottom: 0;
    }
    .seeking-message span {
        margin-bottom: 10px;
    }
    .seeking-card-wrapper .btn-green {
        width: calc(100% - 80px);
        margin: 20px auto;
    }
    .seeking-more-btn {
        font-size: 16px;
    }
    .seeking-more-btn img {
        margin-left: 10px;
        width: 16px;
        height: 16px;
    }
    .seeking-request {
        padding: 0 40px;
        margin-top: 56px;
    }
    .seeking-request p {
        line-height: 160%;
    }
    .seeking-request .btn-yellow {
        margin-bottom: 40px;
    }
    .seeking-request .uchinoco {
        width: 100%;
    }
}

/* TOP grass */
#grass {
    background: #e3e0d6 url(/images/top/texture.png);
    background-size: 220px 220px;
}
#grass .inner {
    padding: 80px 20px;
    max-width: 1120px;
}
#grass h2 {
    font-weight: 500;
    font-size: 24px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 40px;
}
.grass-text {
    font-weight: 500;
    font-size: 14px;
    line-height: 200%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 80px;
}
.grass-card-wrapper {
    display: flex;
    justify-content: space-between;
}
.grass-card {
    width: 47.2%;
    position: relative;
    background: #f7f4eb;
    border-radius: 20px;
    padding: 40px 40px 37px;
}
.grass-month {
    position: absolute;
    top: -40px;
    left: -33px;
}
.grass-card h3 {
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 12px;
}
.grass-subject {
    font-weight: 500;
    font-size: 12px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 24px;
}
.grass-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.grass-content-image {
    width: 30.9%;
}
.grass-content-text {
    width: 62.1%;
    font-weight: 500;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0.08em;
}

@media only screen and (max-width: 749px) {
    #grass .inner {
        padding-left: 40px;
        padding-right: 40px;
    }
    #grass h2 {
        font-size: 20px;
        margin-bottom: 32px;
    }
    .grass-text {
        margin-bottom: 40px;
    }
    .grass-text span {
        display: block;
        margin-top: 8px;
        font-size: 11px;
        line-height: 160%;
    }
    .grass-card-wrapper {
        display: block;
    }
    .grass-card {
        width: 100%;
        padding: 30px;
    }
    .grass-card:first-of-type {
        margin-bottom: 32px;
    }
    .grass-month {
        top: -44px;
        left: -41px;
    }
    .grass-month img {
        width: 122px;
        height: 122px;
    }
    .grass-card h3 {
        font-size: 18px;
        margin-bottom: 14px;
    }
    .grass-subject {
        margin-bottom: 20px;
    }
    .grass-content {
        display: block;
    }
    .grass-content-image {
        width: 100%;
        margin-bottom: 20px;
    }
    .grass-content-image img {
        width: 100%;
    }
    .grass-content-text {
        width: 100%;
    }
}

/* TOP commitment */
#commitment {
    position: absolute;
    top: 160px;
    width: 100%;
}
#commitment .inner {
    padding: 80px 20px;
    max-width: 1120px;
    color: #e0f0be;
}
#commitment h2 {
    font-weight: 500;
    font-size: 24px;
    line-height: 180%;
    margin-bottom: 40px;
    letter-spacing: 0.08em;
}
.commitment-text {
    font-weight: 500;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0.08em;
}

@media only screen and (max-width: 749px) {
    #commitment .inner {
        padding-left: 40px;
        padding-right: 40px;
    }
    #commitment h2 {
        font-size: 20px;
        margin-bottom: 32px;
    }
}

/* TOP faq */
#faq {
    position: absolute;
    top: 640px;
    width: 100%;
}
@media only screen and (max-width: 749px) {
    #faq {
        top: 945px;
    }
}
#faq .inner {
    padding: 80px 20px;
    max-width: 1120px;
}
#faq h2 {
    font-weight: 500;
    font-size: 24px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    color: #ffffff;
    margin-bottom: 40px;
}
.faq-card-wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.faq-card {
    width: 47.2%;
    background: #e0f0be;
    border-radius: 20px;
    padding: 20px;
}
.faq-card:nth-child(n+3) {
    margin-top: 48px;
}
.faq-card-question .question,
.faq-card-answer .answer,
#static .faq-card-question .question,
#static .faq-card-answer .answer {
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 100%;
    letter-spacing: 0.08em;
}
.faq-card-question {
    display: flex;
    margin: 0 0 20px 15px;
}
.faq-card-question .text,
#static .faq-card-question .text {
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    padding-top: 10px;
    margin-left: 10px;
}
.faq-card-answer,
#static .faq-card-answer {
    background: #f0f4f4;
    border-radius: 20px;
    display: flex;
    padding: 11px 40px 20px 15px;
}
.faq-card-answer .text,
#static .faq-card-answer .text {
    font-weight: 500;
    font-size: 16px;
    line-height: 160%;
    letter-spacing: 0.08em;
    padding-top: 9px;
    margin-left: 10px;
}
.faq-more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    color: #ffffff;
}
.faq-more-btn img {
    margin-left: 16px;
    width: 19px;
    height: 19px;
}

@media only screen and (max-width: 749px) {
    #faq h2 {
        font-size: 20px;
    }
    .faq-card-wrapper {
        display: block;
    }
    .faq-card {
        width: 100%;
        padding: 16px 20px 24px;
    }
    .faq-card:nth-child(n+2) {
        margin-top: 32px;
    }
    .faq-card-question .question,
    .faq-card-answer .answer {
        font-size: 24px;
    }
    .faq-card-question {
        margin: 0 0 16px 10px;
    }
    .faq-card-question .text {
        font-size: 16px;
        line-height: 140%;
        margin-left: 8px;
        padding-top: 5px;
    }
    .faq-card-answer {
        padding: 8px 20px 16px 10px;
    }
    .faq-card-answer .text {
        font-size: 12px;
        padding-top: 8px;
        margin-left: 8px;
    }
    .faq-more-btn {
        font-size: 16px;
    }
    .faq-more-btn img {
        margin-left: 10px;
        width: 16px;
        height: 16px;
    }
}

/* TOP news */
#news {
    background: #bddbe1;
}
#news .inner {
    padding: 80px 20px;
    max-width: 1120px;
    display: flex;
}
.news-title {
    width: 266px;
    min-width: 266px;
    margin-right: 100px;
}
.news-title h2 {
    margin-bottom: 40px;
}
.news-more-btn {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-weight: 500;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    color: #ffffff;
}
.news-more-btn img {
    margin-left: 16px;
    width: 19px;
    height: 19px;
}
.news-lists {
    margin-bottom: 30px;
}
.news-lists li {
    font-weight: 500;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.08em;
}
.news-lists li:not(:last-of-type) {
    margin-bottom: 24px;
}
.news-lists li a {
    display: flex;
    align-items: center;
}
.news-date {
    display: flex;
    align-items: center;
}
.news-lists .date {
    width: 80px;
    min-width: 80px;
}
.news-category {
    color: #ffffff;
    border-radius: 30px;
    padding: 4px 0;
    margin: 0 20px;
    width: 90px;
    min-width: 90px;
    text-align: center;
}
.news-category.news_category_info {
    background: #0d4a6b;
}
.news-category.news_category_product {
    background: #16757b;
}
.news-category.news_category_event {
    background: #08a9cc;
}
.news-category.news_category_other {
    background: #d2004c;
}
.news-lists .title {
    line-height: 140%;
}

@media only screen and (max-width: 749px) {
    #news .inner {
        display: block;
        padding-left: 40px;
        padding-right: 40px;
    }
    .news-title {
        width: 182px;
        min-width: 182px;
        margin-right: 0;
    }
    .news-lists li:not(:last-of-type) {
        margin-bottom: 20px;
    }
    .news-lists li a {
        display: block;
    }
    .news-date {
        flex-direction: row-reverse;
        justify-content: flex-end;
        align-items: baseline;
        margin-bottom: 12px;
    }
    .news-category {
        margin: 0 10px 0 0;
        font-size: 10px;
        width: 73px;
        min-width: 73px;
        padding: 2px 0;
    }
    .news-more-btn {
        font-size: 16px;
    }
    .news-more-btn img {
        margin-left: 10px;
        width: 16px;
        height: 16px;
    }
}

/* NEWS一覧、詳細 */
body.page_news {
    background-color: #bddbe1;
}
.page_news #header {
    background: #bddbe1;
}
.page_news #footer {
    background-color: #bddbe1;
}
.news-detail .news-date {
    margin-bottom: 20px;
}
.news-detail h1 {
    margin-bottom: 20px;
}
@media only screen and (max-width: 749px) {
    .page_news #news .inner {
        padding-top: 50px;
    }
    .news-detail .news-date {
        margin-top: 20px;
    }
}

/* detail 馬の詳細（購買可能なもの） */
#detail .inner {
    position: relative;
    padding: 0 20px;
    max-width: 1120px;
    z-index: 1;
}
#detail .wave {
    margin-top: -200px;
}
@media only screen and (max-width: 749px) {
    #detail .wave {
        margin-top: -100px;
    }
}
#detail .on {
    background-image: url(/images/common/icon-on.svg);
}
#detail .off {
    background-image: url(/images/common/icon-off.svg);
}
#detail .like-btn {
    background-size: contain;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    width: 60px;
    height: 60px;
}
#detail .article-lists .like-btn,
#seekingdetail .article-lists .like-btn,
#seekingdetail .seeking-lists .like-btn {
    width: 40px;
    height: 40px;
}
.detail-main {
    margin-bottom: 90px;
    position: relative;
}
.detail-main,
.detail-sub .inner {
    display: flex;
    justify-content: space-between;
}
.detail-main-image,
.detail-sub-content {
    width: 63%;
}
.detail-main-content,
.detail-sub-btn {
    width: 33.3%;
}
.detail-main-image-slider {
    margin-bottom: 16px;
}
.detail-main-image-slider .slick-slide {
    background: #fff;
    border-radius: 10px;
}
.detail-main-image-slider img.visual {
    width: 100%;
    border-radius: 10px;
    aspect-ratio: 16 / 9;
    object-fit: contain;
}
.detail-main-image-slider .slide-arrow.slick-arrow {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 1;
}
.detail-main-image-slider .slide-arrow.slick-arrow.prev-arrow {
    left: 35px;
}
.detail-main-image-slider .slide-arrow.slick-arrow.next-arrow {
    right: -55px;
}
.detail-main-image-thumbnail .slick-track {
    margin-left: 0;
}
.detail-main-image-thumbnail .slick-slide {
    background: #fff;
    border-radius: 10px;
}
.detail-main-image-thumbnail .slick-slide:not(:last-of-type) {
    margin-right: 10px;
}
.detail-main-image-thumbnail .slick-slide img.visual {
    border-radius: 10px;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: contain;
}
.detail-main-image-thumbnail .slick-current {
    position: relative;
}
.detail-main-image-thumbnail .slick-current::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    border: 4px solid #16757b;
}
.detail-main-content {
    background: #fff;
    box-shadow: 0px 0px 40px rgba(31, 98, 86, 0.06);
    border-radius: 10px 60px;
    padding: 40px 40px 30px 40px;
    position: relative;
    overflow: hidden;
    /* transition: all 0.3s; */
    transform: translate3d(0,0,0);
}
.detail-main-content.fixed {
    position: fixed;
    width: 27.3%;
    max-width: 359px;
    top: 90px;
    z-index: 2;
}
.detail-main-content canvas,
.detail-main-content .grass-bg {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}
.detail-main-content .grass-bg {
    height: 100%;
}
.detail-main-content .grass-bg1 {
    background:url(/images/common/grass/1.png) no-repeat bottom left / 100% auto;
}
.detail-main-content .grass-bg2 {
    background:url(/images/common/grass/2.png) no-repeat bottom left / 100% auto;
}
.detail-main-content .grass-bg3 {
    background:url(/images/common/grass/3.png) no-repeat bottom left / 100% auto;
}
.detail-main-content-inner {
    position: relative;
    z-index: 1;
    /* mix-blend-mode: darken; */
}
.detail-main-content h1 {
    font-weight: 700;
    font-size: 26px;
    line-height: 100%;
    margin-bottom: 30px;
}
.detail-main-content-number {
    background: #f0f4f4;
    border-radius: 10px;
    margin-bottom: 30px;
    padding: 20px;
}
.detail-main-content-number-title {
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 14px;
    line-height: 100%;
    margin-bottom: 10px;
}
.detail-main-content-number-title img {
    margin-right: 8px;
}
.detail-main-content-number-total {
    font-weight: 700;
    font-size: 30px;
    line-height: 100%;
    letter-spacing: 0.02em;
    color: #1f6256;
}
.detail-main-content-number-total span {
    margin-left: 6px;
    font-size: 14px;
    letter-spacing: 0.08em;
}
.detail-main-content-line {
    width: 100%;
    height: 1px;
    background: #bde1cf;
    border-radius: 10px;
    margin: 19px 0 20px;
    opacity: 1;
}
.detail-main-content .btn-green {
    height: 70px;
    line-height: 70px;
    font-size: 20px;
}
.detail-main-content-btn {
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
}
.detail-main-content-btn .btn-white {
    width: 46.4%;
}
.detail-main-content-sns-sp {
    display: none;
}
.detail-main-content-sns-pc {
    position: absolute;
    top: 0px;
    right: -80px;
    text-align: center;
}
.detail-main-content-sns-pc p {
    font-weight: 500;
    font-size: 12px;
    line-height: 100%;
    margin: 4px 0 40px;
}
.detail-main-content-sns-wrapper .sns-link {
    display: block;
    margin-bottom: 20px;
}
.detail-sub {
    margin-top: -40px;
    padding: 0 0 110px;
    background: #fff;
}
@media only screen and (max-width: 749px) {
    .detail-sub {
        margin-top: 0;
    }
}
#detail .detail-sub .inner {
    padding: 0 20px;
    max-width: 1120px;
}
.detail-sub-content-wrapper:not(:last-of-type) {
    margin-bottom: 80px;
}
.detail-sub-content-wrapper h2 {
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.detail-sub-content-wrapper h2 img {
    margin-right: 20px;
}
.detail-sub-content-wrapper p {
    font-weight: 500;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0.08em;
}
.detail-sub-content-wrapper p span {
    font-weight: 700;
}
.detail-sub-content-comment {
    position: relative;
}
.detail-sub-content-comment .slide-arrow.slick-arrow.next-arrow {
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: -55px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 1;
}
.detail-sub-content-comment-item {
    background: #f0f4f4;
    border-radius: 10px;
    padding: 20px;
    font-weight: 500;
    width: 96.2% !important;
    min-height: 172px;
}
.detail-sub-content-comment .slick-slide div:not([class]):first-of-type {
    margin-bottom: 20px;
}
.detail-sub-content-comment .slick-list {
    padding: 0 100px 0 0 !important;
}
.detail-sub-content-comment-item .date {
    font-size: 12px;
    line-height: 100%;
    color: #c2cecc;
    margin-bottom: 10px;
}
.detail-sub-content-comment-item .name {
    font-size: 18px;
    line-height: 100%;
    margin-bottom: 20px;
}
.detail-sub-content-comment-item .comment {
    font-size: 12px;
    line-height: 200%;
}
.detail-sub-btn-content {
    background: #ffffff;
    box-shadow: 0px 0px 40px rgba(31, 98, 86, 0.1);
    border-radius: 20px;
    padding: 32px 40px 40px 40px;
}
.detail-sub-btn-content:not(:last-of-type) {
    margin-bottom: 40px;
}
.detail-sub-btn-content h2 {
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0.08em;
    display: flex;
    align-items: flex-end;
}
.detail-sub-btn-content h2 img {
    width: 25px;
    margin-right: 14px;
}
.detail-sub-btn-content-line {
    margin: 20px 0;
    width: 100%;
    height: 1px;
    background: #bde1cf;
    border-radius: 10px;
    opacity: 1;
}
.detail-sub-btn-content p {
    font-weight: 500;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0.08em;
}
.detail-sub-btn-content p.attention {
    font-size: 10px;
    line-height: 140%;
    margin-top: 10px;
}
.detail-sub-btn-content p.attention a {
    font-weight: 700;
    color: #08a9cc;
    text-decoration: underline;
}
.detail-sub-btn-content .btn-green {
    margin-top: 20px;
    height: 70px;
    line-height: 70px;
}
.detail-recommend {
    margin-top: -100px;
}
@media only screen and (max-width: 749px) {
    .detail-recommend {
        margin-top: 0;
    }
}
.detail-recommend h2 {
    font-weight: 500;
    font-size: 24px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 80px;
}

@media only screen and (max-width: 1239px) {
    #detail .on {
        background-image: url(/images/common/icon-on-sp.svg);
    }
    #detail .off {
        background-image: url(/images/common/icon-off-sp.svg);
    }
    .detail-main-content-sns-pc {
        display: none;
    }
    #detail .like-btn {
        width: 30px;
        height: 30px;
    }
    .detail-main-content-sns-sp {
        position: static;
        display: flex;
        flex-direction: row-reverse;
        justify-content: center;
        align-items: center;
        margin-top: 24px;
        left: 0;
        right: auto;
    }
    .detail-main-content-sns-sp p {
        display: none;
    }
    .detail-main-content-sns-wrapper {
        display: flex;
    }
    .detail-main-content-sns-wrapper .sns-link {
        margin: 0 40px 0 0;
    }
}

@media only screen and (max-width: 889px) {
    .detail-main-content-btn {
        display: block;
    }
    .detail-main-content-btn .btn-white {
        width: 100%;
    }
    .detail-main-content-btn .btn-white:first-of-type {
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 749px) {
    .detail-main {
        display: block;
    }
    .detail-main-image {
        width: 100%;
        padding: 0 20px;
    }
    .detail-main-image-slider {
        margin-bottom: 10px;
    }
    .detail-main-image-slider .slide-arrow.slick-arrow.prev-arrow {
        width: 63px;
        left: -2px;
    }
    .detail-main-image-slider .slide-arrow.slick-arrow.next-arrow {
        width: 63px;
        right: -65px;
    }
    .detail-main-image-thumbnail .slick-slide img.visual {
        aspect-ratio: 7 / 4;
        border-radius: 4px;
    }
    .detail-main-image-thumbnail .slick-current::after {
        border: 2px solid #16757b;
        border-radius: 4px;
    }
    .detail-main-content {
        width: 100%;
        margin-top: 30px;
        padding: 30px 30px 24px;
    }
    .detail-main-content h1 {
        font-size: 18px;
        letter-spacing: 0.08em;
        text-align: center;
        margin-bottom: 16px;
    }
    .detail-main-content-number {
        display: flex;
        justify-content: space-around;
        padding: 20px;
        margin-bottom: 24px;
    }
    .detail-main-content-number-title {
        font-size: 12px;
    }
    .detail-main-content-number-title img {
        height: 12px;
        margin-right: 4px;
    }
    .detail-main-content-number-total {
        text-align: center;
        font-size: 20px;
    }
    .detail-main-content-number-total span {
        font-size: 11px;
        margin-left: 1px;
    }
    .detail-main-content-line {
        height: auto;
        width: 1px;
        margin: 0;
    }
    .detail-main-content .btn-green {
        height: 60px;
        line-height: 60px;
        font-size: 18px;
    }
    .detail-main-content-btn {
        display: flex;
        margin-top: 16px;
    }
    .detail-main-content-btn .btn-white {
        width: 46.6%;
    }
    .detail-main-content-btn .btn-white:first-of-type {
        margin-bottom: 0;
    }
    .detail-sub-content {
        width: 100%;
    }
    .detail-sub-content-wrapper h2 {
        font-size: 16px;
        margin-bottom: 16px;
    }
    .detail-sub-content-wrapper h2.comment {
        align-items: flex-start;
        line-height: 140%;
    }
    .detail-sub-content-wrapper h2 img {
        margin-right: 10px;
        width: 16px;
        height: 16px;
    }
    .detail-sub-content-wrapper h2.comment img {
        margin-top: 5px;
    }
    .detail-sub-content-wrapper:not(:last-of-type) {
        margin-bottom: 40px;
    }
    .detail-sub-content-comment .slick-list {
        padding: 0 50px 0 0 !important;
    }
    .detail-sub-content-comment-item {
        width: 93.3% !important;
        min-height: 160px;
    }
    .detail-sub-content-comment .slide-arrow.slick-arrow.next-arrow {
        width: 70px;
    }
    .detail-sub-content-comment-item .date {
        font-size: 11px;
        margin-bottom: 8px;
    }
    .detail-sub-content-comment-item .name {
        font-size: 16px;
        margin-bottom: 14px;
    }
    .detail-sub-btn {
        display: none;
    }
    .detail-recommend h2 {
        font-size: 20px;
        margin-bottom: 40px;
    }
}

/* seekingdetail 馬の詳細（募集中のもの） */
#seekingdetail .inner {
    position: relative;
    padding: 0 20px;
    max-width: 1120px;
    /* z-index: 1; */
}
#seekingdetail .wave {
    margin-top: -200px;
}
@media only screen and (max-width: 749px) {
    #seekingdetail .wave {
        margin-top: -100px;
    }
}

#seekingdetail .detail-sub-content {
    margin-top: -40px;
    z-index: 1;
}
#seekingdetail .on {
    background-image: url(/images/common/icon-on.svg);
}
#seekingdetail .off {
    background-image: url(/images/common/icon-off.svg);
}
#seekingdetail .like-btn {
    background-size: contain;
    background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    width: 60px;
    height: 60px;
}
#seekingdetail .detail-main-image > div {
    position: relative;
}
.seekingdetail-attention {
    position: absolute;
    bottom: 0;
    width: 100%;
    font-weight: 700;
    font-size: 14px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    color: #ffffff;
    background: rgba(210, 0, 76, 0.9);
    border-radius: 0 0 10px 10px;
    padding: 11px 0;
}
.seekingdetail-line {
    width: 100%;
    height: 1px;
    background: #bde1cf;
    border-radius: 10px;
    margin: 30px 0;
    opacity: 1;
}
.seekingdetail-content {
    margin-bottom: 30px;
}
.seekingdetail-content .detail-main-content-number-title {
    margin-bottom: 16px;
}
.seekingdetail-content .detail-main-content-number-title img {
    width: 16px;
    height: 16px;
}
.seekingdetail-content-text {
    font-weight: 500;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0.08em;
}
.seekingdetail-send-btn {
    margin-bottom: 20px;
}
.seekingdetail-btn-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
}
.seekingdetail-btn-inner img {
    margin-right: 6px;
}
.seekingdetail-notification-btn {
    position: relative;
    padding: 14px 0;
}
.seekingdetail-notification-btn span {
    display: block;
    font-weight: 500;
    font-size: 10px;
    line-height: 100%;
    letter-spacing: 0.1em;
}
.seekingdetail-applicant {
    position: absolute;
    top: -12px;
    right: -35px;
    width: 61px;
    height: 61px;
    text-align: center;
    color: #1f6256;
    background-image: url(../images/detail/balloon.png);
    background-repeat: no-repeat;
    background-size: contain;
    font-weight: 700;
    line-height: 100%;
    font-size: 10px;
    transform: scale(0.8);
    transform-origin: 0 0;
    padding: 15px 0;
}
.seekingdetail-applicant span {
    font-size: 17.5px;
    font-weight: 700;
    display: inline-block;
    margin: 3px 1px 0 0;
}
.seekingdetail-content-text-link {
    text-align: center;
    margin-top: 20px;
}
.seekingdetail-sub-title-date {
    font-weight: 500;
    font-size: 12px;
    line-height: 100%;
    color: #c2cecc;
    margin-bottom: 10px;
}
.seekingdetail-sub-title-text {
    font-weight: 500;
    font-size: 24px;
    line-height: 160%;
    letter-spacing: 0.08em;
}
.detail-sub-content .seekingdetail-line {
    margin: 20px 0 80px;
}
.seekingdetail-seeking-list {
    background: #227d51;
    margin-top: -40px;
    position:relative;
}
@media only screen and (max-width: 749px) {
    .seekingdetail-seeking-list {
        margin-top: 0;
    }
}
.seekingdetail-seeking-list h2 {
    font-weight: 500;
    font-size: 24px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    color: #e0f0be;
    margin-bottom: 80px;
}
.seekingdetail-seeking-list .seeking-more-btn {
    font-weight: 500;
}
.seekingdetail-seeking-list .seeking-request {
    margin-top: 80px;
}
.seekingdetail-seeking-list .seeking-request p {
    font-weight: 500;
}
.seekingdetail-seeking-list .seeking-request .btn-yellow {
    margin-bottom: 0;
}
.seekingdetail-seeking-list ._cloud {
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
    z-index: 2;
}
.seekingdetail-seeking-list ._cloud1 {
    background-image: url(../images/mypage/cloud/1.png);
    width: 531px;
    height: 224px;
    left: -200px;
    bottom: -200px;
}
.seekingdetail-seeking-list ._cloud2 {
    background-image: url(../images/mypage/cloud/2.png);
    width: 387px;
    height: 212px;
    right: -60px;
    bottom: -202px;
}
.seekingdetail-seeking-list ._cloud3 {
    background-image: url(../images/mypage/cloud/3.png);
    width: 333px;
    height: 107px;
    left: -37px;
    bottom: -321px;
}
.seekingdetail-seeking-list ._cloud4 {
    background-image: url(../images/mypage/cloud/4.png);
    width: 553px;
    height: 164px;
    right: -347px;
    bottom: -298px;
}
@media only screen and (max-width: 749px) {
    .seekingdetail-seeking-list ._cloud1{
        transform: scale(0.5) translate(-15%, 0);
    }
    .seekingdetail-seeking-list ._cloud2 {
        transform: scale(0.5) translate(50%, 0);
    }
    .seekingdetail-seeking-list ._cloud3{
        transform: scale(0.5) translate(-80%, -200%);
    }
    .seekingdetail-seeking-list ._cloud4 {
        transform: scale(0.5) translate(0, -80%);
    }
}

#modal {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 12;
    max-width: 1080px;
    width: 75%;
}
#modal .form-submit-btn .btn-green {
    width: 316px;
    height: 70px;
    line-height: 70px;
}
#modal-overlay {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    z-index: 11;
}

@media only screen and (max-width: 1239px) {
    #seekingdetail .on {
        background-image: url(/images/common/icon-on-sp.svg);
    }
    #seekingdetail .off {
        background-image: url(/images/common/icon-off-sp.svg);
    }
    #seekingdetail .like-btn {
        width: 30px;
        height: 30px;
    }
    .detail-main-content.fixed {
        width: 33.3%;
    }
}

@media only screen and (max-width: 749px) {
    .seekingdetail-line {
        margin: 16px 0 24px;
    }
    .seekingdetail-content .detail-main-content-number-title {
        font-size: 14px;
    }
    .seekingdetail-content .detail-main-content-number-title img {
        margin-right: 8px;
    }
    .seekingdetail-content {
        margin-bottom: 24px;
    }
    .seekingdetail-send-btn {
        margin-bottom: 16px;
    }
    .seekingdetail-notification-btn {
        height: 60px;
        padding: 9px 0;
    }
    .seekingdetail-applicant {
        right: -25px;
    }
    .seekingdetail-content-text-link {
        margin-top: 16px;
    }
    .seekingdetail-sub-title-date {
        font-size: 11px;
        margin-bottom: 8px;
    }
    .seekingdetail-sub-title-text {
        font-size: 14px;
    }
    .detail-sub-content .seekingdetail-line {
        margin: 16px 0 40px;
    }
    .detail-sub-content-wrapper h2 {
        margin-bottom: 20px;
    }
    .seekingdetail-seeking-list h2 {
        font-size: 20px;
        margin-bottom: 40px;
    }
    .seekingdetail-seeking-list .seeking-request {
        margin-top: 56px;
    }
    #modal {
        width: calc(100vw - 40px);
    }
    #modal .form-wrapper {
        border-radius: 10px 60px;
    }
    #modal .form-wrapper .inner {
        padding: 40px 20px 60px;
    }
    #modal .form-content:not(:last-of-type) {
        margin-bottom: 40px;
    }
    #modal .form-submit-btn .btn-green {
        width: 100%;
        height: 60px;
        line-height: 60px;
    }
}

/* request */
#request .inner {
    padding: 131px 20px 160px;
    max-width: 860px;
}
#request h1 {
    font-weight: 500;
    font-size: 24px;
    line-height: 180%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 80px;
}
.request-card-wrapper {
    display: flex;
    justify-content: space-between;
}
.request-card {
    width: 43.9%;
    background: #ffffff;
    box-shadow: 0px 0px 40px rgba(31, 98, 86, 0.06);
    border-radius: 10px 60px;
    padding: 40px;
    text-align: center;
    display: block;
}
.request-card h2 {
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0.08em;
}
.request-card-line {
    width: 100%;
    height: 1px;
    background: #bde1cf;
    border-radius: 10px;
    margin: 20px 0;
    opacity: 1;
}
.request-card p {
    font-weight: 500;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0.08em;
    margin-bottom: 13px;
}
.request-card img {
    width: 63.9%;
    height: auto;
}

@media only screen and (max-width: 749px) {
    #request .inner {
        padding-top: 20px;
    }
    #request h1 {
        font-size: 20px;
        line-height: 140%;
        margin-bottom: 40px;
    }
    .request-card-wrapper {
        display: block;
    }
    .request-card {
        width: 100%;
        padding: 40px 30px;
    }
    .request-card:first-of-type {
        margin-bottom: 24px;
    }
    .request-card h2 {
        font-size: 16px;
    }
    .request-card-line {
        margin: 16px 0 14px;
    }
    .request-card img {
        width: 44.1%;
    }
}

/* ログイン */
#login {
    padding: 66px 20px;
}
.login-wrapper {
    max-width: 620px;
    margin: 0 auto;
    background: #ffffff;
    box-shadow: 0px 0px 40px rgba(31, 98, 86, 0.06);
    border-radius: 10px 60px;
    padding: 80px 60px;
}
.login-wrapper h1 {
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 60px;
}
.login-form {
    margin-bottom: 20px;
}
.login-password {
    position: relative;
}
.login-password-btn {
    position: absolute;
    top: 18px;
    right: 27px;
    cursor: pointer;
}
.login-form-remember {
    text-align: center;
    margin-bottom: 60px;
}
.login-form-remember label {
    display: inline-block;
}
.login-form-remember .form_check_text {
    padding-left: 30px;
    height: 20px;
}
.login-form-remember .form_check + .form_check_text::before {
    width: 20px;
    height: 20px;
    border-radius: 4px;
}
.login-form-remember .form_check:checked + .form_check_text::after {
    width: 13px;
    height: 13px;
    top: 5px;
    left: 4px;
}
.login-wrapper .login-btn {
    height: 80px;
    line-height: 80px;
    font-size: 20px;
    margin-bottom: 40px;
}
.login-text-link {
    text-align: center;
    margin-top: 20px;
}

@media only screen and (max-width: 749px) {
    .login-wrapper {
        padding: 40px 30px;
    }
    .login-wrapper h1 {
        font-size: 16px;
        margin-bottom: 32px;
    }
    .login-form {
        margin-bottom: 16px;
    }
    .login-password-btn {
        width: 18px;
        top: 15px;
        right: 12px;
    }
    .login-form-remember {
        margin-bottom: 32px;
    }
    .login-form-remember .form_check_text {
        height: 24px;
        padding-left: 34px;
        font-size: 14px;
    }
    .login-form-remember .form_check + .form_check_text::before {
        width: 24px;
        height: 24px;
    }
    .login-form-remember .form_check:checked + .form_check_text::after {
        width: 15px;
        height: 15px;
        top: 6px;
        left: 5px;
    }
    .login-wrapper .login-btn {
        height: 50px;
        line-height: 50px;
        font-size: 16px;
        margin-bottom: 16px;
    }
}

/* マイページ */
#mypage > .inner {
    padding: 0 20px 120px;
    max-width: 1120px;
}
.mypage-main {
    margin-bottom: 120px;
}
.mypage-main-top {
    position:relative;
    background: #ffffff;
    box-shadow: 0px 0px 40px rgba(31, 98, 86, 0.06);
    border-radius: 10px 60px 0 0;
}
.mypage-main-top-inner{
    position:relative;
    padding: 80px 100px 40px;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.mypage-main-image {
    width: 36.6%;
    text-align: center;
}
.mypage-main-image .horse {
    width: 82%;
}
.mypage-main-bar {
    position:relative;
    background: #aad7c0;
    box-shadow: 0px 0px 40px rgba(31, 98, 86, 0.06);
    border-radius: 70px;
    width:100%;
    height:50px;
    margin-top: 26px;
}
    .mypage-main-bar ._bar{
        position:absolute;
        height:40px;
        width:0;
        top:5px;
        left:5px;
        border-radius: 40px 10px 10px 40px;
        overflow:hidden;
        transition: width 2s;
    }
    .mypage-main-bar ._bar::before{
        content:"";
        display:block;
        position:absolute;
        left:0;
        top:0;
        height:40px;
        width:791.959px;/* 14 * sqrt2 * 40 */
        background: repeating-linear-gradient(-45deg, rgba(255,255,255,0.8), rgba(255,255,255,0.8) 7px, rgba(255,255,255,0.6) 7px, rgba(255,255,255,0.6) 14px);
        background-position: 0 0;
        animation: anim-mypage-main-bar 40s linear infinite;
    }
    @keyframes anim-mypage-main-bar  {
        from {
            background-position: 0 0;
        }
        to {
            background-position: 791.959px;
        }
    }
    .mypage-main-bar ._text{
        position:relative;
        top:17px;
        padding-right:20px;
        font-weight: 500;
        font-size: 14px;
        line-height: 100%;
        letter-spacing: 0.08em;
        text-shadow:
             1px 1px 0 rgba(255,255,255,0.6), -1px -1px 0 rgba(255,255,255,0.6),
            -1px 1px 0 rgba(255,255,255,0.6),  1px -1px 0 rgba(255,255,255,0.6),
             0px 1px 0 rgba(255,255,255,0.6),  0px -1px 0 rgba(255,255,255,0.6),
            -1px 0px 0 rgba(255,255,255,0.6),  1px  0px 0 rgba(255,255,255,0.6);
    }
.mypage-main-level {
    position: absolute;
    background-image: url(../images/mypage/bg-level.png);
    width: 90px;
    height: 93px;
    background-repeat: no-repeat;
    top: -24px;
    right: -50px;
    font-weight: 700;
    font-size: 12px;
    line-height: 100%;
    color: #ffffff;
    padding: 39px 0;
}
.mypage-main-level span {
    font-size: 18px;
}
.mypage-main-content {
    width: 50%;
}
.mypage-main-content .login {
    font-weight: 700;
    font-size: 12px;
    line-height: 100%;
    margin-bottom: 14px;
}
.mypage-main-content .name {
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    margin-bottom: 40px;
}
.mypage-main-content .achievement {
    font-weight: 500;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    margin-bottom: 14px;
}
.mypage-main-content .achievement img {
    margin-right: 10px;
}
.mypage-main-content .achievement img.grass {
    width: 16px;
    height: 20px;
}
.mypage-main-message {
    margin-top: 40px;
    background: rgba(240, 244, 244, 0.9);
    border-radius: 20px;
    font-weight: 500;
    font-size: 14px;
    line-height: 180%;
    text-align: center;
    letter-spacing: 0.08em;
    padding: 27px;
}
.mypage-main-bottom {
    background: #ecf7f1;
    border-radius: 0px 0px 10px 60px;
    padding: 60px 100px;
}
.mypage-main-bottom h2 {
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}
.mypage-main-bottom h2 img {
    margin-right: 10px;
}
.mypage-main-account-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mypage-main-account {
    display: flex;
}
.mypage-main-account p {
    font-weight: 500;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.08em;
}
.mypage-main-account p:not(:last-of-type) {
    margin-bottom: 14px;
}
.mypage-main-btn {
    min-width: 248px;
}
.mypage-main-btn .btn-white {
    font-weight: 500;
}
.mypage-history {
    padding: 80px 0;
}
.mypage-history.purchase {
    position: relative;
}
.mypage-history-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
}
.mypage-history-title h2 {
    display: flex;
    align-items: center;
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0.08em;
}
.mypage-history-title h2 img {
    margin-right: 10px;
}
.mypage-history-more {
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    position: absolute;
    top: 88px;
    right: 0;
}
.mypage-history-more img {
    width: 19px;
    height: 19px;
    margin-left: 16px;
}
.mypage-history-list-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid #aad7c0;
    margin-bottom: 20px;
}
.mypage-history-list-link p {
    font-weight: 500;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.08em;
}
.mypage-history-list-more {
    font-weight: 500;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
}
.mypage-history-list-more img {
    margin-left: 10px;
}
.mypage-favorite {
    padding: 80px 0;
}
.mypage-favorite h2 {
    font-weight: 700;
    font-size: 24px;
    line-height: 100%;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    margin-bottom: 60px;
}
.mypage-favorite h2 img {
    margin-right: 10px;
}
.mypage-favorite-wrapper .btn_area {
    display: flex;
    justify-content: space-between;
}
.mypage-favorite-wrapper .tab_btn {
    width: 46.3%;
    text-align: center;
    cursor: pointer;
    font-weight: 500;
    font-size: 20px;
    line-height: 100%;
    letter-spacing: 0.08em;
    color: #1f6256;
    padding-bottom: 19px;
    border-bottom: 1px solid #aad7c0;
}
.mypage-favorite-wrapper .tab_btn.active {
    font-weight: 700;
    border-bottom: 1px solid #1f6256;
}
.mypage-favorite-wrapper .panel_area {
    padding: 60px 0 0 0;
}
.mypage-favorite-wrapper .tab_panel {
    display: none;
}
.mypage-favorite-wrapper .tab_panel.active {
    display: block;
}
.mypage-favorite .article-lists {
    justify-content: flex-start;
}
.mypage-favorite .article-lists .article-card:not(:nth-of-type(3n)) {
    margin-right: calc((100% - (29.6% * 3)) / 2);
}
#favorite.mypage-favorite {
    padding-top: 100px;
    margin-top: -100px;
}
#mypage.subscription {
    margin-top: 50px;
}
.subscription-title {
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 40px;
}
.subscription-change-wrapper {
    background: #f0f4f4;
    border-radius: 20px;
    padding: 40px;
}
.subscription-change-article {
    position: relative;
    background: #fff;
    border-radius: 10px 60px;
    box-shadow: 0px 0px 40px rgba(31, 98, 86, 0.06);
    overflow: hidden;
}
.subscription-change-article ._content{
    position: relative;
    display: flex;
    justify-content: space-between;
}
.subscription-change-article .wideGrass{
    bottom:-40px;
}
.subscription-change-image {
    width: 25%;
    aspect-ratio: 1 / 1;
}
.subscription-change-image .visual {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px 60px 0px 60px;
}
.subscription-change-content {
    width: 68.1%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 50px;
}
.subscription-change-detail .name {
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
}
.subscription-change-detail .achievement {
    font-weight: 700;
    font-size: 12px;
    line-height: 180%;
}
.subscription-change-content .btn-green {
    width: 200px;
}
.subscription-change-product {
    margin-top: 40px;
    display: flex;
}
.subscription-change-product-inner {
    width: 61.4%;
}
.subscription-change-grass {
    width: 80px;
    height: 80px;
    margin-right: 16px;
    text-align: center;
    background: #e0f0be;
    border-radius: 10px;
    position: relative;
}
.subscription-change-grass img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.subscription-change-course {
    display: flex;
    align-items: center;
}
.subscription-change-course .name {
    font-weight: 700;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
}
.subscription-change-course .price {
    font-weight: 700;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.08em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.subscription-change-course .price span.monthly {
    font-size: 10px;
    color: #e0f0be;
    background: #227d51;
    border-radius: 4px;
    line-height: 100%;
    padding: 4px 7px 4px 6px;
    margin-right: 10px;
}
.subscription-change-course .price span.tax {
    font-size: 10px;
}
.subscription-change-product .description {
    font-weight: 500;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0.08em;
    margin-top: 16px;
}
.subscription-change-line {
    width: 1px;
    height: auto;
    background: #ffffff;
    border-radius: 10px;
    margin: 0 40px;
    opacity: 1;
}
.subscription-change-btn {
    width: 27.4%;
}
.subscription-change-btn .btn-white {
    font-weight: 500;
    margin-bottom: 26px;
    height: 54px;
    line-height: 54px;
}
.subscription-change-btn .btn-red {
    font-weight: 500;
    height: 54px;
    line-height: 54px;
}
.mypage-history .subscription-change-wrapper {
    background: #fff;
}

@media only screen and (max-width: 749px) {
    .mypage-main-top-inner {
        padding: 40px 30px 24px;
        display: block;
    }
    .mypage-main-content {
        width: 100%;
    }
    .mypage-main-content .login {
        font-size: 11px;
        margin-bottom: 8px;
    }
    .mypage-main-content .name {
        font-size: 16px;
        margin-bottom: 24px;
    }
    .mypage-main-content .achievement {
        margin-bottom: 8px;
    }
    .mypage-main-image {
        width: 100%;
        margin-top: 24px;
    }
    .mypage-main-image .horse {
        width: 62.1%;
    }
    .mypage-main-bar {
        margin-top: 24px;
    }
    .mypage-main-level {
        text-align: center;
        right: -20px;
    }
    .mypage-main-message {
        margin-top: 26px;
        padding: 20px;
        font-size: 12px;
    }
    .mypage-main-bottom {
        padding: 32px 30px 34px;
    }
    .mypage-main-bottom h2 {
        font-size: 14px;
        margin-bottom: 16px;
    }
    .mypage-main-bottom h2 img {
        margin-right: 8px;
        width: 14px;
        height: 16px;
    }
    .mypage-main-account-wrapper {
        display: block;
    }
    .mypage-main-account-information p {
        line-height: 140%;
    }
    .mypage-main-account p:not(:last-of-type) {
        margin-bottom: 16px;
    }
    .mypage-main-account-information p span {
        font-size: 11px;
    }
    .mypage-main-btn {
        margin-top: 26px;
    }
    .mypage-history {
        padding: 40px 0;
    }
    .mypage-history-title {
        margin-bottom: 32px;
    }
    .mypage-history-title h2 {
        font-size: 16px;
    }
    .mypage-history-title h2 img {
        width: 16px;
        height: 16px;
    }
    .mypage-history-list-link {
        display: block;
        padding-bottom: 18px;
        margin-bottom: 16px;
    }
    .mypage-history-list-link p {
        line-height: 160%;
        margin-bottom: 16px;
    }
    .mypage-history-list-more {
        justify-content: flex-end;
        font-size: 14px;
    }
    .mypage-history-more {
        position: unset;
        justify-content: center;
        margin-top: 24px;
        font-size: 16px;
    }
    .mypage-history-more img {
        margin-left: 10px;
        width: 16px;
        height: 16px;
    }
    .mypage-favorite {
        padding: 40px 0;
    }
    .mypage-favorite h2 {
        font-size: 16px;
        margin-bottom: 32px;
    }
    .mypage-favorite h2 img {
        width: 17px;
        height: 16px;
    }
    .mypage-favorite-wrapper .tab_btn {
        font-size: 14px;
        padding-bottom: 8px;
    }
    .mypage-favorite-wrapper .panel_area {
        padding-top: 32px;
    }
    .mypage-favorite .article-lists .article-card:not(:nth-of-type(3n)) {
        margin-right: 0;
    }
    .mypage-favorite .article-lists .article-card:not(:nth-of-type(2n)) {
        margin-right: calc(100% - (48.6% * 2));
    }
    main.other.mypage-subsucription {
        background: #fff;
    }
    #mypage.subscription {
        margin-top: 0;
    }
    #mypage.subscription > .inner {
        padding: 0;
    }
    #mypage.subscription .form-wrapper .inner {
        padding-top: 20px;
    }
    .subscription-title {
        font-size: 16px;
        margin-bottom: 32px;
    }
    .subscription-change-wrapper {
        padding: 20px 20px 24px 20px;
    }
    .subscription-change-article {
        border-radius: 10px 40px;
    }
    .subscription-change-article .wideGrass {
        bottom: -27px;
    }
    .subscription-change-article .wideGrass canvas{
        width: 160%;
    }
    .subscription-change-article ._content {
        align-items: center;
    }
    .subscription-change-image {
        width: 44.5%;
    }
    .subscription-change-image .visual {
        border-radius: 10px 30px 0px 30px;
    }
    .subscription-change-content {
        display: block;
        padding-right: 20px;
        width: 49%;
    }
    .subscription-change-detail .name {
        font-size: 12px;
        margin-bottom: 10px;
    }
    .subscription-change-detail .achievement {
        font-weight: 500;
        font-size: 10px;
        line-height: 140%;
        margin-bottom: 18px;
    }
    .subscription-change-content .btn-green {
        width: 100%;
        height: 30px;
        line-height: 30px;
        font-size: 12px;
        border-radius: 4px;
    }
    .subscription-change-product {
        margin-top: 24px;
        display: block;
    }
    .subscription-change-product-inner {
        width: 100%;
    }
    .subscription-change-line {
        width: 100%;
        height: 1px;
        margin: 24px 0;
    }
    .subscription-change-btn {
        width: 100%;
    }
    .subscription-change-grass {
        width: 41.8%;
        aspect-ratio: 135 / 76;
        border-radius: 0;
    }
    .subscription-change-grass .one-box {
        width: 25px;
    }
    .subscription-change-course .name {
        font-size: 16px;
        margin-bottom: 12px;
    }
    .subscription-change-btn .btn-white {
        height: 50px;
        line-height: 50px;
        margin-bottom: 16px;
    }
    .subscription-change-btn .btn-red {
        height: 50px;
        line-height: 50px;
    }
}

/* 静的ページ */
#static {
    max-width: 1120px;
    margin: 0 auto;
    padding: 60px 20px 160px;
}
#static h1 {
    font-weight: 500;
    font-size: 24px;
    line-height: 180%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 40px;
}
#static h2 {
    font-weight: 700;
    font-size: 16px;
    line-height: 200%;
    letter-spacing: 0.08em;
}
#static p {
    font-weight: 500;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0.08em;
}
#static p.right {
    text-align: right;
}
#static h2#guide-faq {
    padding-top: 100px;
    margin-top: -100px;
}
#static a {
    text-decoration: underline;
}
#static a.read-more {
    width: 300px;
    height: 70px;
    line-height: 70px;
    cursor: pointer;
    text-decoration: none;
    margin: 0 auto;
}
#static .hide-contents {
    display: none;
}
.static-table {
    width: 100%;
}
.static-table-row {
    border-bottom: 1px solid #BDE1CF;
}
.static-table-row > th {
    width: 30.4%;
    font-weight: 700;
    font-size: 16px;
    line-height: 100%;
    letter-spacing: 0.08em;
    vertical-align: top;
    padding: 32px 0 30px;
}
.static-table-row > td {
    width: 69.6%;
    font-weight: 500;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.08em;
    padding: 32px 0 30px;
}
.static-table-row .attention {
    margin-top: 16px;
    font-weight: 500;
    font-size: 11px;
    line-height: 140%;
    letter-spacing: 0.08em;
    position: relative;
    padding-left: 31px;
}
.static-table-row .attention span {
    position: absolute;
    top: 7px;
    left: 0;
}
.fee-table {
    margin: 30px 0;
}
.fee-table-head {
    width: 39.9%;
    background: #E0F0BE;
    border-radius: 10px 0px 0px 10px;
    font-weight: 700;
    font-size: 14px;
    line-height: 180%;
    letter-spacing: 0.08em;
    padding: 0 29px 0 20px;
}
.fee-table-head span {
    font-weight: 500;
    font-size: 11px;
    letter-spacing: 0;
}
.fee-table-head span > span {
    font-size: 10px;
    transform: scale(0.8);
    transform-origin:0 0;
}
.fee-table-row:not(:last-of-type) {
    border-bottom: 2px solid #E5E5E5;
}
.fee-table-row > td {
    background: #FFFFFF;
    width: calc((100% - 39.9%) / 2);
    border-left: 2px solid #E5E5E5;
    font-size: 14px;
    line-height: 140%;
    letter-spacing: 0.08em;
    padding: 15px 0 15px 20px;
}
.fee-table-row > td:first-of-type {
    font-weight: 500;
}
.fee-table-row > td:last-of-type {
    font-weight: 700;
}
.fee-table-row:first-of-type > td:last-of-type {
    border-radius: 0 10px 0 0;
}
.fee-table-row:last-of-type > td:last-of-type {
    border-radius: 0 0 10px 0;
}
.fee-table-row span {
    font-size: 10px;
    transform: scale(0.8);
    transform-origin:0 0;
}

@media only screen and (max-width: 749px) {
    #static {
        padding: 20px 20px 160px;
    }
    #static h1 {
        font-size: 20px;
        line-height: 100%;
        margin-bottom: 32px;
    }
    .static-table-row > th {
        display: block;
        width: 100%;
        font-size: 14px;
        padding: 24px 0 20px;
    }
    .static-table-row > td {
        display: block;
        width: 100%;
        padding: 0 0 20px;
    }
    .fee-table {
        margin: 20px 0;
    }
    .fee-table thead tr th {
        background: #E0F0BE;
        padding: 20px;
        font-weight: 700;
        font-size: 14px;
        line-height: 150%;
        letter-spacing: 0.08em;
    }
    .fee-table thead tr th span {
        font-weight: 500;
        font-size: 11px;
        letter-spacing: 0;
    }
    .fee-table thead tr th span > span {
        font-size: 10px;
        transform: scale(0.8);
        transform-origin:0 0;
    }
    .fee-table-row:first-of-type {
        border-top: 2px solid #E5E5E5;
    }
    .fee-table-row:first-of-type > td:last-of-type,
    .fee-table-row:last-of-type > td:last-of-type {
        border-radius: 0;
    }
    .fee-table-row > td:first-of-type {
        border-left: none;
    }
}

/* 購入ページのprogress */
.payment-progress {
    max-width: 459px;
    margin: 0 auto 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.payment-progress .step {
    position: relative;
    background: #fff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    color: #227d51;
    font-size: 24px;
    text-align: center;
    line-height: 46px;
    border: 2px solid #227d51;
}
.payment-progress .step.now {
    color: #fff;
    background: #227d51;
}
.payment-progress .step.check {
    color: #fff;
    background: #bde1cf;
    border-color: #bde1cf;
    position: relative;
}
.payment-progress .step.check::after {
    content: "";
    position: absolute;
    display: inline-block;
    background-image: url(../images/payment/payment-check.svg);
    background-size: contain;
    width: 22px;
    height: 22px;
    top: -5px;
    right: -10px;
}
.payment-progress .step p {
    position: absolute;
    left: 50%;
    bottom: -30px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    font-weight: 500;
    font-size: 14px;
    line-height: 100%;
    letter-spacing: 0.08em;
    white-space: nowrap;
    color: #227d51;
}
.payment-progress .step.now p {
    font-weight: 700;
}
.payment-progress .progress-line {
    width: 100px;
    height: 2px;
    background: #bde1cf;
    border-radius: 10px;
    opacity: 1;
}

@media only screen and (max-width: 749px) {
    .payment-progress-sp {
        padding: 0 20px 60px;
        display: flex;
        align-items: center;
    }
    .payment-progress-sp .image {
        width: 70px;
        height: 70px;
        margin-right: 20px;
    }
    .payment-progress-sp p {
        font-weight: 500;
        font-size: 12px;
        line-height: 100%;
        letter-spacing: 0.08em;
    }
    #form.complete.payment .payment-progress-sp p.title {
        font-weight: 700;
        line-height: 100%;
        font-size: 22px;
        color: #227d51;
        margin-bottom: 10px;
    }
}

/* 馬リスト一覧ページ /articles */
main.other #article {
    padding-top: 50px;
}
main.other #article h1 {
    font-weight: 500;
    font-size: 24px;
    line-height: 100%;
    text-align: center;
    letter-spacing: 0.08em;
    color: #0b342d;
    margin-bottom: 40px;
}
.article-sub-title {
    font-weight: 500;
    font-size: 14px;
    line-height: 200%;
    text-align: center;
    letter-spacing: 0.08em;
    margin-bottom: 56px;
}

@media only screen and (max-width: 749px) {
    main.other #article h1 {
        font-size: 20px;
        margin-bottom: 32px;
    }
    .article-sub-title {
        margin-bottom: 80px;
    }
    main.other #article .article-lists li:nth-child(n + 7) {
        display: block;
    }
}

/* 情報募集中の馬リスト一覧ページ /seekings */
.seeking-list-page .seeking-lists {
    display: flex;
    flex-wrap: wrap;
}
.seeking-list-page .seeking-card-wrapper {
    width: 48.6%;
    margin: 0 0 60px 0;
    box-shadow: none;
    padding-bottom: 1px;
}
.seeking-list-page .seeking-card-wrapper:nth-child(odd) {
    margin-right: calc(100% - (48.6% * 2));
}

@media only screen and (max-width: 749px) {
    .seeking-list-page .seeking-lists {
        display: block;
    }
    .seeking-list-page .seeking-card-wrapper {
        width: 100%;
        margin: 0 0 24px 0;
    }
}

/* マイページ、ログイン画面などの背景 */
.account_bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height:100%;
    overflow: hidden;
}
.account_bg ._cloud {
    position: absolute;
    background-repeat: no-repeat;
    background-size: 100%;
}
.account_bg ._cloud1 {
    background-image: url(../images/mypage/cloud/1.png);
    width: 531px;
    height: 224px;
    left: -49px;
    top: 194px;
}
.account_bg ._cloud2 {
    background-image: url(../images/mypage/cloud/2.png);
    width: 387px;
    height: 212px;
    left: 1099px;
    top: 202px;
}
.account_bg ._cloud3 {
    background-image: url(../images/mypage/cloud/3.png);
    width: 333px;
    height: 107px;
    left: -76px;
    top: 354px;
}
.account_bg ._cloud4 {
    background-image: url(../images/mypage/cloud/4.png);
    width: 553px;
    height: 164px;
    left: 1168px;
    top: 311px;
}
.account_bg ._ville {
    margin-top: 360px;
    background: url(../images/mypage/ville.png) no-repeat;
    background-size: 100%;
    width: 100%;
    height: 660px;
}
.account_bg .wave {
    transform: translate(0, -75%);
}

/* signinではwaveなし、縦100% */
.page_signin .account_bg,
.page_registration .account_bg{
    position:fixed;
}
.page_signin .account_bg ._ville,
.page_registration .account_bg ._ville{
    height: calc(100% - 360px);
    background-size: cover;
}
.page_signin .account_bg .wave,
.page_registration .account_bg .wave{
    display: none;
}
@media only screen and (max-width: 749px) {
    .account_bg ._cloud1,
    .account_bg ._cloud2 {
        transform: translate(0, -250px) scale(0.6);
    }
    .account_bg ._cloud3,
    .account_bg ._cloud4 {
        transform: translate(-60px, -200px) scale(0.6);
    }
    .account_bg ._ville {
        margin-top: 200px;
        height: 900px;
        background-size: cover;
    }
    .page_signin .account_bg ._ville,
    .page_registration .account_bg ._ville{
        height: calc(100vh - 200px);
    }
}


.registration_request_complete{
    position:fixed;
    width:100%;
    height:100vh;
    background:url(../images/request/bg.png) no-repeat center center;
    background-size: cover;
}

@media only screen and (max-width: 749px) {
    .registration_request_complete{
        background-image:url(../images/request/bg_sp.png);
    }
}

div.bankinfo {
    text-align:center; 
    background-color:#F0F4F4; 
    padding: 10px 120px; 
    display:inline-block; 
    border-radius:10px;
}
@media only screen and (max-width: 749px) {
	div.bankinfo {
	    padding: 20px 20px; 
	}
}

