/************ * ************/

body{
    margin: 0 auto;
    background-color: rgb(255, 255, 255);
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
    max-width: 780px;
}

img{
    width: 100%;
    height: auto;
    vertical-align: top;
}

a{
    text-decoration: none;
    color: #474747;
}

h2{
    margin: 0 0 32px 0;
    font-size: 32px;
}

h3{
    font-size: 20px;
    margin: 48px 0;
}

p{
    margin: 48px 0;
    font-size: 16px;
    line-height: 1.7em;
}

ul{
    padding: 0;
}

.flex{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.flex_around{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: flex-start;
}

.flex_between{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

.flex_evenly{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: flex-start;
}

.flex_center{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}

/************ header ************/

.head_title{
    width: 100%;
    padding: 16px 0;
    background-color: #B78E96;
    text-align: center;
}

.head_title img{
    width: 48%
}

.head_text{
    width: 100%;
    padding: 16px 0;
    background-color: #e0dbdb;
    color: #603B3B;
    text-align: center;
    font-size: 18px;
}

/************ Main top ************/

#main_top_section{
    background-color: #e0dbdb;
}

#main_top_section .text_container{
    padding: 20px;
}

.hr1{
    width: 90%;
    height: 3px;
    margin: 16px auto;
    background-color: #fff;
}

#main_top_section .text1{
    color: #603B3B;
    font-size: 14px;
}

#main_top_section .text2{
    width: 100%;
    margin: 16px auto;
    padding: 10px 0;
    background-color: #B78E96;
    text-align: center;
    color: #603B3B;
    font-size: 18px;
    font-weight: 600;
}

#main_top_section .text3{
    color: #603B3B;
    font-size: 14px;
}

#main_top_section .text4{
    color: #603B3B;
    font-size: 16px;
    text-align: center;
}

#main_top_section .text5{
    color: #B78E96;
    font-size: 24px;
    text-align: center;
}

#main_top_section .text6{
    color: #603B3B;
    font-size: 14px;
    text-align: center;
}

.shop_image{
    width: 50%;
}

.shop_image img{
    width: 100%;
}

/************ Main opinion ************/

#main_opinion_section{
    padding: 32px 0 0 0;
    background-color: #fff;
}

#main_opinion_section .opinion_left{
    width: 36%;
}

#main_opinion_section .opinion_right{
    width: 36%;
    font-size: 14px;
}

#main_opinion_section .opinion_head{
    margin-top: 64px;
}

#main_opinion_section .opinions_content{
    padding: 32px;
}

#main_opinion_section .opinions_text1{
    font-size: 22px;
    color: #e47b7b;
    text-align: center;
}

#main_opinion_section .opinions_text2{
    margin-top: 64px;
    margin-bottom: 8px;
    font-size: 14px;
    color: #858585;
    text-align: left;
}

#main_opinion_section .opinions_text3{
    margin-bottom: 32px;
    padding: 24px;
    background-color: #fff;
    font-size: 14px;
    color: #e47b7b;
    border-radius: 16px;
    box-shadow: 4px 4px 4px #d6d6d6, -0.8px 2px #d6d6d6;
}

#main_opinion2_section{
    padding: 32px;
    text-align: center;
}

#main_opinion2_section .opinion2_content{
    margin-bottom: 32px;
}

#main_opinion2_section .opinion2_image{
    margin-bottom: 12px;
}

#main_opinion2_section .opinion2_text1{
    margin-bottom: 12px;
    font-size: 14px;
    color: #e47b7b;
}

#main_opinion2_section .opinion2_text2{
    font-size: 14px;
}

/************ Main recruit ************/

#main_recruit_section{
    padding: 32px;
    background-color: #e0dbdb;
}

#main_recruit_section .recruit_head{
    width: 90%;
    margin: 32px auto;
    padding: 12px;
    text-align: center;
    background-color: #B78E96;
    color: #603B3B;
    font-size: 20px;
    font-weight: 600;
}

#main_recruit_section .table_text1{
    width: 20%;
    padding: 12px 0;
    font-size: 14px;
    color: #B78E96;
    vertical-align: top;
}

#main_recruit_section .table_text2{
    width: 80%;
    padding: 12px 0;
    font-size: 14px;
    color: #603B3B;
}

.apply_link{
    width: 90%;
    margin: 32px auto;
    padding: 12px;
    text-align: center;
    background-color: #4888ff;
    font-size: 20px;
}

.apply_link a{
    width: 100%;
    color: #fff;
}

/************ Main Rink ************/

#rink_section{
    padding: 32px;
    background-color: #F0EEEC;
}

.rink_container{
    padding-bottom: 32px;
    text-align: center;
    background-color: #fff;
}

.rink_container_heading{
    padding: 12px 0;
    background-color: #603B3B;
    color: #fff;
    font-size: 24px;
}

.rink_cards{
    width: 75%;
    margin: 0 auto;
}

.rink_card{
    margin-top: 32px;
}

.rink_card_img img{
    width: 100%;
}

.rink_card_heading{
    margin-top: 6px;
    color: #603B3B;
    font-size: 16px;
}

.rink_card_tel{
    color: #603B3B;
    font-size: 16px;
    line-height: 1.2em;
}

/************ Main experience ************/

#main_experience_section{
    padding: 32px;
    background-color: rgb(255, 252, 237);
}

#main_experience_section .experience_text1{
    font-size: 20px;
    text-align: center;
}

#main_experience_section .experience_banner{
    margin: 32px 0;
}

#main_experience_section .experience_text2{
    margin-bottom: 24px;
    font-size: 16px;
    text-align: center;
}

#main_experience_section .experience_link{
    width: 90%;
    margin: 32px auto;
    padding: 12px;
    text-align: center;
    background-color: #e1adad;
    border-radius: 32px;
    font-size: 20px;
}

#main_experience_section .experience_link a{
    color: #fff;
}

/************ Main footer ************/

#main_footer_section{
    padding: 32px;
    background-color: #e0dbdb;
}

#main_footer_section .footer_text1{
    color: #603B3B;
    font-size: 14px;
}

#main_footer_section .line_rink{
    width: 90%;
    margin: 32px auto;
    padding: 12px;
    text-align: center;
    background-color: #48ff30;
    border-radius: 32px;
    font-size: 20px;
}

#main_footer_section .line_rink a{
    color: #fff;
}

#main_footer_section .tel_rink{
    width: 90%;
    margin: 32px auto;
    padding: 12px;
    text-align: center;
    background-color: #603B3B;
    border-radius: 32px;
    font-size: 20px;
}

#main_footer_section .tel_rink a{
    color: #603B3B;
}

#main_footer_section .footer_text2{
    margin-top: 24px;
    font-size: 14px;
    text-align: center;
}

#main_footer_section .footer_text3{
    margin-top: 24px;
    font-size: 14px;
    text-align: center;
}

#main_footer_section .footer_text4{
    color: #603B3B;
    font-size: 14px;
    text-align: center;
}

.footer_text4{
    padding: 16px 32px; 
    background-color: #f3c9c9;
    color: #603B3B;
    font-size: 14px;
    text-align: center;
}

/************ Contact_form ************/

#form_section{
    padding: 32px;
}