html,
body
{
    width  : 100%;
    height : 100%;
    line-height : 1.7;
}

body
{
    margin : 0;

    border-top    : none;
    border-bottom : none;

    background-color : #CD5C5C;
    color : #CD5C5C;
    font-size : 14pt;
    /*color : #800000;*/
}

a,
v,
link
{
    color : #800000;
}

#base-color,
.contents-section,
.contents-title,
.table-title
{
    background-color : #CD5C5C;
    color : #FFE4C4;
}
#sub-color,
.contents-frame,
.contents-inframe,
.privacypolicy-frame,
.privacypolicy-inframe,
.table-menu
{
    background-color : #FFE4C4;
    color : #CD5C5C;
}

#frame-style,
.contents-frame,
.contents-title,
.privacypolicy-frame,
.table-menu
{
    border-radius : 30px;
}

#from-style,
input,
textarea
{
    width : 95%;

    background-color : #FFE4C4;
    color : #CD5C5C;
    font-size : 14pt;
    border : 1px solid #CD5C5C;
}

input
{
    margin-top : 2pt;
    margin-bottom : 2pt;

    box-sizing : border-box;
}

textarea
{
    margin-top : 2pt;
}

button
{
    width : 200px;
    margin-top : 20px;

    background-color : #CD5C5C;
    color : #FFE4C4;
    font-size : 14pt;
    border : 1px solid #FFE4C4;
}

footer
{
    margin : 20px;
    color : #FFE4C4;
    font-size : 10pt;
    text-align : center;
}
footer a
{
    color : #FFE4C4;
}
footer::before
{
    content : "© 2026 株式会社羊榮. All Rights Reserved.";
}
footer::after
{
}

/*==================================================
 ロゴ
==================================================*/
.logo-section
{
    width   : 100%;
    /*height  : 100%;*/
    padding-top : 50px;
    display : flex;
    z-index : 999;
    justify-content : center;
    text-align : center;

    background-color : #CD5C5C;
}

.logo
{
    width  : 300px;
    height : 300px;
    border-radius : 300px;
    border : 5px dashed #CD5C5C;

    background-color    : #FFE4C4;
    background-image    : url( 'img/logo_youyou_text.png' );
    background-repeat   : no-repeat;
    background-position : 50% 50%;
}

.logo-text
{
    width  : 286px;
    height : 286px;
    margin : 2px;
    border-radius : 286px;
    border : 5px solid #CD5C5C;

    background-image    : url( 'img/logo_youyou.png' );
    background-repeat   : no-repeat;
    background-position : 50% 50%;
}

.logo-font
{
    font-size : 40pt;
    text-align : center;
}

.logo-font>div
{
    font-size : 18pt;
    text-align : center;
}

/*==================================================
 コンテンツ
==================================================*/
.contents-section
{
    width   : 100%;
    /*height  : 100%;*/
    padding-top : 50px;
    display : flex;
    z-index : 999;
    justify-content : center;
    text-align : center;
}

.contents-frame,
.privacypolicy-frame
{
    width : min( 580px, calc( 100% - 32px ) );
    /*height : 300px;*/
    /*border : 5px dashed #CD5C5C;*/
    display : flex;
    justify-content : center;
}

.contents-inframe,
.privacypolicy-inframe
{
    width  : 99.5%;
    /*height : 286px;*/
    margin : 5px;
    /*border : 2px solid #CD5C5C;*/

    background-color : #ffffff00;

    text-align : center;
}

.contents-container
{
    width : 100%;
    /*border-radius : 30px;*/
    display : flex;
    justify-content : center;
    gap : 20px;
}

.contents-container-line
{
    border-bottom : 1px dashed #CD5C5C;
}
.contents-container-line-title-top
{
    border-top : 1px dashed #FFE4C4;
}

.contents-title
{
    width  : 100%;

    /* border */
    border-bottom-left-radius  : 0;
    border-bottom-right-radius : 0;

    /* text */
    text-align : center;
}

/*==================================================
 テーブル
==================================================*/
.table-text
{
    padding : 20px 20px 0px 20px;
    gap : 0px;

    /* text */
    text-align : left;
}
.table-text p
{
    padding-top : 20px;
    border-top : 1px dashed #CD5C5C;
}

.table-title
{
    width : 180px;
    display : grid;

    /* text */
    text-align : center;
    place-items : center;
}
.table-title-top
{
    border-radius : 30px 0 0 0;
}
.table-title-bottom
{
    border-radius : 0 0 0 30px;
}

.table-menu
{
    width : 75%;
    text-align : left;
}

.table-menu>ul
{
    margin : 0px;
    padding : 0px 20px 0px 20px;
    list-style : square;
}

/*==================================================
 問い合わせ
==================================================*/
.contact
{
}

.contact button:hover
{
    opacity : 0.8;
}

.required
{
    /*margin-left : 5px;*/
    font-size   : 10pt;
    color       : #800000;
}

#contact-send-button
{
}

#contact-confirm-button
{
}

.form-policy
{
    display : flex;
    justify-content : center;
    align-items : center;
    place-items : center;
    gap : 4px;
    font-size   : 12pt;
}

.form-policy input
{
    width : 12pt;
    margin-top : 20px;
    font-size   : 12pt;
}

.honeypot
{
    position : absolute;

    width  : 1px;
    height : 1px;

    overflow : hidden;

    left : -9999px;
}

/*==================================================
 プライバシーポリシー
==================================================*/
.privacypolicy
{
    width : 100%;
    text-align : center;
    display : flex;
    justify-content : center;
}

.privacypolicy-frame
{
    width : 70%;
}

.privacypolicy-inframe
{
    width : 99.5%;
}

.privacypolicy-menu
{
    width : 90%;
    max-width : 1000px;
    text-align : left;
}

.privacypolicy-end
{
    padding-top : 30px;
    border-top : 2px dashed #CD5C5C;
}

.privacypolicy-menu h3
{
    margin-top    : 30px;
    margin-bottom : 12px;
}