@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
}

body {
    margin: 2.5vw;
    box-sizing: border-box;
    background-color: #ca2500;    
}

header {    
    border: 0.2vw solid;
    border-color: #fff #fff transparent #fff;
}

h1 {
    display: flex;
    font-family: 'Zen Kaku Gothic New', sans-serif;
}

/* ロゴ画像 */
header h1 a {
    width: 10%;
    background-color: blue;
}

header h1 a img {
    width: 100%;
    height: 100%;
    padding: 0 30% 0;
    background-color: #fff;
}

.title {
    margin: auto 20vw auto 35vw;
    letter-spacing: 0.3em;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 1.3vw;
    color: #fff;
}

header nav ul {
    display: flex;
    margin: 0 -0.1vw;
    list-style-type: none;
}

header nav ul li {
    width: 100%;
    height: 4vw;
    line-height: 3vw;
    text-align: center;
    letter-spacing: 0.2em;
    border: solid #fff;
    border-width: 0.2vw 0.1vw 0.2vw 0.1vw;
}

header nav ul li:nth-child(4) {
    border-color: #fff;
}

header nav ul li a {
    display: block;
    padding: 0.5vw;
    text-decoration: none;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 1.3vw;
    color: #fff;
    cursor: default;
}

header nav ul li:nth-of-type(3) a,
header nav ul li:nth-of-type(4) a {
    cursor: pointer;
}
header nav ul li:nth-of-type(3) a:hover,
header nav ul li:nth-of-type(4) a:hover {
    color: #ca2500;
    background-color: #fff;
}

.this_page::before {
    content: '●';
    margin-left: -1.2em;
    color: #fff;
}

.page_title {
    margin-top: -0.3vw;
    border: 0.20vw solid;
    border-color: #fff;
}

.page_title h1 {
    width: 8.4vw;
    padding: 5vw 0;
    margin-left: 5vw;
    letter-spacing: 0.2em;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 4vw;
    color: #fff;
}

/* メニュー */
.main_contents {
    margin-top: -0.15vw;
    padding: 4vw 8vw;
    border: 0.2vw solid #fff;
}

.main_sentence {
    margin-left: -3vw;
    margin-bottom: -3vw;
    white-space: pre-wrap;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 1.2vw;
    color: #fff;
}

.main_contents span {
    letter-spacing: 0.05em;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 2vw;
    color: #fff;
}

.main_contents h2 {
    display: flex;
    width: 100%;
    margin: 5vw auto 0;
    text-align: center;
    align-items: center;
    justify-content: center;
    font-family: 'Zen Old Mincho', serif;
    font-size: 5vw;
    color: #fff;
} 

/* 文字の横の線 */
.main_contents h2::before,
.main_contents h2::after {
    content: '';
    flex-grow: 0.1;
    height: 0.2vw;
    background: rgb(255, 255, 255);
}
.main_contents h2::before {
    margin-right: 1vw;
}
.main_contents h2::after {
    margin-left: 1vw;
}

.menu_copy {
    display: block;
    margin: 0 auto 3vw;
    text-align: center;
    align-items: center;
    justify-content: center;
    letter-spacing: 0.05em;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 1.2vw;
    color: #fff;
} 

/* メニュー横並び */
.menu_flexA {
    display: flex;
    justify-content: space-between;
}

.menu_flexB {
    display: flex;
    justify-content: space-between;
    margin-top: 5vw;
}

/* メニュー */
.menu_parent {
    margin: 0 3vw;
    height: 18vw;
}

.menu_photo {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    height: 13.5vw;
}

.menu_content {
    margin-top: 0.5vw;
    text-align: center;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 1.2vw;
    color: #fff;
}

.menu_amount {
    margin-top: 3vw;
    text-align: center;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 1.3vw;
    color: #fff;
}

.hidden {
    visibility: hidden;
}

.two_column {
    margin-left: 8vw;
    margin-right: 8vw;
}

.limited {
    margin-top: 0.3vw;
    height: 2vw;
    line-height: 2vw;
    background-color: rgb(34, 184, 34);
    border-radius: 0.5vw;
}

/* フッター */
footer {
    margin-top: 5vw;
    border: 0.1vw solid #fff;    
}

.footer_parent {
    display: flex;
}

.footer_parent ul {
    display: flex;    
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    justify-content: space-around;  
    list-style-type: none;
}

.footer_parent ul li {
    text-align: center;    
    width: 100%;
    line-height: 3vw;
    border: 0.1vw solid #fff;
}

.this_page::before {
    content: '●';
    margin-left: -1.2em;
    color: #fff;
}

.footer_parent ul li a {
    display: block;
    padding: 0.5vw;
    letter-spacing: 0.2em;
    text-decoration: none;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 1.3vw;
    color: #fff;
}

.footer_parent ul li a:hover {
    color: #ca2500;
    background-color: #fff;
}

.Copyright {
    display: block;
    padding: 0.5vw;
    letter-spacing: 0.1em;
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-size: 1.2vw;
    color: #fff;
}   