@charset "utf-8";

/* ============================================
   Reset & Base
============================================ */
*, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    overflow-y: scroll;
    font-size: 62.5%;
    scroll-behavior: smooth;
}

body {
    background: #ffffff;
    color: #333333;
    font-family: "メイリオ", Meiryo, "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, sans-serif;
    font-size: 1.8rem;
    line-height: 1.6;
}

p, li, dt, dd {
    font-size: 1.8rem;
    line-height: 1.6;
}

p { margin-bottom: 1rem; }

li { list-style-type: none; }

h1, h2, h3, h4, h5, h6 { font-size: 1.8rem; }

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

address { font-style: normal; }

hr{border:0; }

/* ============================================
   Link
============================================ */
a:link, a:visited, a:active {
    color: #E07A5F;
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
    opacity: 0.6;
    transition: opacity 0.3s ease;
}

/* ============================================
   Margin & Padding Utility
============================================ */
.paragraph10 { padding-bottom: 10px; }
.paragraph20 { padding-bottom: 20px; }
.paragraph30 { padding-bottom: 30px; }
.paragraph40 { padding-bottom: 40px; }
.paragraph50 { padding-bottom: 50px; }
.paragraph60 { padding-bottom: 60px; }
.paragraph70 { padding-bottom: 70px; }
.paragraph80 { padding-bottom: 80px; }
.paragraph90 { padding-bottom: 90px; }
.paragraph100 { padding-bottom: 100px; }

/* ============================================
   Layout Utility
============================================ */
.f_left { float: left; }
.f_right { float: right; }
.txt_left { text-align: left; }
.txt_center { text-align: center; }
.txt_right { text-align: right; }
.small { font-size: 80%; }
