@charset "utf-8";

.title {
    font-size: 1.5rem;
    text-align: center;
    padding-top: 60px;
    padding-bottom: 20px;
}
.wrapper {
    margin: 4% 10px;
}
a {
    text-decoration: none;
}
a:link {
    color: #1a00e9;
}

body {
  font-family: "M PLUS 1", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
h2 span {
    font-size: 0.8rem;
}
#top-title h1 {
    font-size: 1.3rem;
    padding: 0.8rem;
    line-height: 1.9rem;
}
/**ロゴ**/
#logo-title {
    display: flex;
    justify-content: space-between;
    background-color: #1a00e9;
    padding: 6% 0 6% 4%;
}
.main_title {
    width: 32%;
}
.space {
    width: 32%;
}
.main_title p {
    font-size: 1.2rem;
    line-height: 1.4rem;
    padding-top: 0.8rem;
    color: white;
    white-space: nowrap;
    padding-left: 20px;
}
#logo {
    padding-top: 10px;
    width: 20%;
}
#logo img {
    width: 100px;
}
.sub-title {
    font-size: 0.8rem;
    white-space: nowrap;
}
#shop_link {
    display: block;
    text-align: center;
    padding-top: 6%;
    padding-bottom: 4%;
}
#shop_link img {
    width: 50%;
}
#shop_link p {
    font-size: 0.8rem;
}
.btn-menu img {
    width: 60px;
}
/**メニューパネル**/
#menu-open img {
    opacity: 0.8;
}
.btn-menu {
    position: fixed;
    right: 1rem;
    top: 1rem;
    z-index: 8000;
}
#menu-panel {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9000;
    padding: 2rem;
    width: max(32vw, 20rem);
    height: 92vh;
    background-color: #FBFF2D;
    box-shadow: 0 0 2rem black;
    translate: 100vw;
}
.menu-list {
    list-style: none;
    margin-top: 4rem;
}
.menu-list li {
    margin: 1.0rem 0.5rem;
}
.menu-list a {
    color: #1a00e9;
    text-decoration: none;
    font-size: 1.8rem;
    font-weight: bolder;
    line-height: 3rem;
}
.furigana {
    font-size: 1rem;
    display: block;
    line-height: 1.2rem;
}
/**スライダー**/
.swiper-wrapper {
    width: 100%;
    height: 300px;
}
.swiper-slide img {
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 300px;
}
.swiper .swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    background-color: white;
    margin: 7px 7px !important;
}
/**NEWS**/
#news_sec {
    padding-bottom: 3rem;
    background: #f7f8fb;
}
.news {
    background: #fff;
    border-radius: 12px;
    padding: 12px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.05);
    transition: 0.3s;
}
.news:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.1);
}
#white {
    color: #333;
}
.outer {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.col-md-3 {
    width: calc(50% - 10px);
    margin-bottom: 20px;
}
.news_pic {
    width: 100%;  /* 親要素の幅いっぱいに */
    aspect-ratio: 4 / 3;  /* 画像の縦横比を4:3に固定（変更可） */
    overflow: hidden;  /* はみ出した部分を隠す */
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 1rem auto;  /* 中央配置 */
}

.news_pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;  /* 画像の縦横比を維持しつつトリミング */
    display: block;
}

.post-categories {
    padding: 0.3em 0.5em;
    border: solid 1px #333;
    margin-bottom: 0.6em;
}
.post-categories li {
    list-style: none;
    font-size: 0.7rem;
    line-height: 0.8rem;
}
.post-categories li a {
    color: #333;
}

.news_time-loop {
    padding-top: 0.3em;
    color: #333;
}
.news_time {
    padding-top: 0.3em;
}
.news_title-loop {
    font-size: 0.9rem;
    padding: 0.3rem 0;
    line-height: 1rem;
}
.news_title-loop a {
    color: #333;
}
.news_meta {
    font-size: 0.7rem;
    display: flex;
    justify-content: space-between;
}
.news_desc-loop {
    font-size: 0.8rem;
}
.news_desc-loop p {
    padding-top: 0.1rem;
    line-height: 0.9rem;
    color: #333;
}
.news_desc-loop a {
    color: #333;
}
.news_desc {
    margin: 2rem 0;
}
.news_desc p {
    padding-top: 0.1rem;
    line-height: 1.6rem;
}
.news_desc p img {
    padding: 1rem 0;
}
.news_desc a {
    padding: 1rem 0;
}
.sec_btn {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 50px;
}
.sec_btn a {
    padding: 0.3em 0.5em;
    color: #1a00e9;
    background-color: #FBFF2D;
}
.pagination {
    display: block;
    margin: 0 auto;
    color: white;
}
/**CONTENTS**/
.contents_pic img {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    height: auto;
    object-fit: cover;
}
.contents_title {
    font-size: 1rem;
    padding: 0.5rem 0;
}
.contents_desc {
    font-size: 0.8rem;
    line-height: 1.3rem;
}
.col-md-6 {
    margin-bottom: 40px;
}
/*カート*/
#cart {
    position: relative;
}
.cart_backimage {
    position: absolute;
    right: -5%;
    bottom: -100px;
    z-index: 1;
}
.cart_backimage img {
    width: 350px;
    transform: rotate(10deg);
}
.item_container {
    width: 80%;
    margin: 50px auto;
    display: block;
    background: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3), 0 8px 16px rgba(0, 0, 0, 0.2);
    padding: 16px;
}
.item-image img {
    width: 100%;
    display: block;
    margin: 0 auto;
    aspect-ratio: 14/ 6;
    object-fit: cover;
    overflow: hidden;
}
.shop-list {
    display: block;
    margin: 10px 0;
    border-radius: 3px;
}
#rakuten {
    background-color: #BF0000;
}
#yahoo {
    background-color: #FF0033;
}
#amazon {
    background-color: #FF9900;
}
#thanks {
    background-color: #1a00e9;
    position: relative;
}
#thanks::after {
    content: "★ お得！";
    position: absolute;
    top: 8px;
    right: -10px;
    background: #ffcc00;
    color: #000;
    font-size: 0.6rem;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.shop-list a button {
    color: white;
    padding: 0.5rem;
    display: block;
    margin: 0 auto;
}
.item p {
    padding: 0.7rem 1rem;
}
.item p span {
    font-size: 0.8rem;
    color: #808080;
}
/**INFORMATION**/
.info_inner {
    display: block;
    margin: 0 auto;
}
.info_inner ul {
    list-style: none;
}
.info_title {
    font-size: 1rem;
    padding: 0.3rem 0 0.3rem 0;
}
.info_desc {
    font-size: 0.8rem;
    line-height: 1.1rem;
}
.info {
    margin-bottom: 0;
}
.new-tag {
    color: red;
    font-weight: bold;
    font-size: 0.8rem;
    margin-left: 10px;
    animation: blink 1s steps(2, start) infinite;
}
@keyframes blink {
    50% {
        opacity: 0;
    }
}
/**ACCESS**/
.access {
    text-align: center;
}
.access_desc {
    font-size: 0.8rem;
    line-height: 1.4rem;
    padding-top: 1rem;
    display: inline-block;
    text-align: left;
}
.access_shop {
    font-size: 1.2rem;
    padding-top: 1.5rem;
}
iframe {
    width: 100%;
}
.shop_sub {
    line-height: 1.4rem;
    display: block;
}
/**レビュー**/
.review_pic img {
    width: 100%;
    padding: 10px;
}
/*更新履歴*/
.update-text li {
    list-style: none;
    font-size: 0.9rem;
    padding: 1rem 1rem 0.2rem 1rem;
}
/*エックス*/
#x_sec {
    display: block;
    margin: 0 auto;
}
/**フッター**/
footer {
    background-color: #1a00e9;
    padding: 4%;
    margin-top: 200px;
}
#footermenu {
    padding-top: 20px;
    padding-bottom: 0.8rem;
}
#footermenu ul {
    display: flex;
    justify-content: space-between;
}
#footermenu ul a {
    color: white;
    font-size: 0.7rem;
}
#footermenu ul li {
    list-style: none;
}
#copyright {
    text-align: center;
    padding-bottom: 20px;
}
#copyright p {
    font-size: 0.7rem;
    color: white;
}

/**NEWS投稿個別ページ**/
.page_title h1 {
    font-size: 2rem;
    text-align: center;
    padding-bottom: 2rem;
    padding-top: 2rem;
}
.page_title h2 {
    font-size: 2rem;
    text-align: center;
    padding-bottom: 2rem;
    padding-top: 2rem;
}
.news_title {
    display: block;
    font-size: 1.2rem;
    width: 90%;
    margin: 0 auto;
}
.news_article {
    margin-bottom: 80px;
}
.category_title {
    display: block;
    text-align: center;
    padding: 0.3em 0.5em;
    width: 7rem;
    border: solid 1px;
    margin: 0 auto;
}
.category h3 {
    font-size: 0.8rem;
}
.archive_list li {
    font-size: 0.8rem;
    display: block;
    text-align: center;
    list-style: none;
    line-height: 1.5rem;
}
.archive_list {
    padding-bottom: 50px;
    padding-top: 10px;
}
.postLink-prev a::before {
    content: "<";
}
.postLink-next a::after {
    content: ">";
}
.postLinks {
    display: flex;
    justify-content: space-between;
    padding-top: 4rem;
    font-size: 0.8rem;
    margin-bottom: 50px;
}
/**COMPANY**/
.company_pic {
    display: block;
    text-align: center;
    margin-top: 50px;
}
.company_pic img {
    width: 100%;
}
.company_pic p {
    text-align: center;
    margin-bottom: 30px;
}
.company_container {
    text-align: center;
    margin-bottom: 100px;
}
.company_content {
    display: inline-block;
    text-align: left;
}
#houjin_rink p {
    font-size: 1.2rem;
    line-height: 1.8rem;
}
#houjin_rink a {
    font-size: 1rem;
}
.company_box {
    text-align: center;
}
.company_box p {
    display: inline-block;
    text-align: left;
}

.com_title {
    position: relative;
    padding: 0.6em;
    background: #e0edff;
    display: block;
    width: 70%;
    margin: 0 auto 1.6rem auto;
  }
  
.com_title::after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #e0edff;
    width: 0;
    height: 0;
  }
.pre {
    margin-top: 50px;
  }
/**SCHOOL**/
.school {
    margin-top: 120px;
}
.school_title {
    position: relative;
    padding: 0.6em;
    background: #e0edff;
    display: block;
    width: 100%;
    margin: 0 auto 1.6rem auto;
    text-align: center;
    font-size: 1.2rem;
}
.school_title::after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #e0edff;
    width: 0;
    height: 0;
}
.school table th {
    padding: 8px 10px;
    background-color: #e4e4e4;
    border: solid 1px #b4b4b4;
    width: 30%;
}
.school table td {
    padding: 8px 10px;
    border: solid 1px #b4b4b4;
}
.school table {
    border-collapse: collapse;
    width: 100%;
}
.school_outer {
    margin: 0 3%;
}
.school_text {
    line-height: 2rem;
}
.school_pic img {
    width: 100%;
    display: block;
}
.trial p {
    font-size: 1.2rem;
}
.explanation {
    padding-top: 1rem;
}
/*カテゴリー*/
.category table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}
.category table td {
    padding: 8px 10px;
    border: solid 1px #b4b4b4;
}
.category {
    margin-top: 100px;
}
.category table a {
    color: black;
}
.category table a:hover {
    color: #1a00e9;
}
/**サイトポリシー**/
.site-policy_desc p {
    font-size: 0.8rem;
    padding-bottom: 1rem;
}
.site-policy_desc h3 {
    font-size: 1rem;
    padding: 0.5rem 0;
}
.site-policy_desc {
    margin-bottom: 20px;
}
.site-policy h1 {
    font-size: 1.3rem;
}
.site-policy {
    margin-bottom: 5rem;
}
.privacy-policy h1 {
    font-size: 1.3rem;
}
.privacy-policy_desc h3 {
    font-size: 1rem;
    padding: 0.5rem 0;
}
.privacy-policy_desc p {
    font-size: 0.8rem;
    padding-bottom: 1rem;
}
.privacy-policy_desc {
    margin-bottom: 20px;
}
#line-banner img {
    width: 100%;
    padding: 10px;
}
#line-banner {
    margin-top: 100px;
}
/*ストラップページ*/
#strap h1 {
    text-align: center;
    font-size: 1.5rem;
    padding: 3rem 0;
}
.writer {
    text-align: right;
    padding-right: 1rem;
    padding-bottom: 0.5rem;
    font-size: 0.8rem;
}
.annotation {
    text-align: right;
    padding-right: 1rem;
    font-size: 0.7rem;
}
.strap-top_image img {
    width: 100%;
}
.strap-top_text {
    margin: 0 5%;
    padding: 1.8rem 0;
}
.strap_text {
    padding-top: 0.3rem;
}
.strap_image img {
    width: 100%;
}
.strap-container {
    margin: 0 5%;
    padding-top: 50px;
}
.strap-container h2 {
    padding-left: 1rem;
    padding-bottom: 0.3rem;
}
.strap-end_image img {
    width: 100%;
}
.strap-end {
    margin: 0 5%;
    padding-top: 100px;
    padding-bottom: 50px;
}
.strap-end h2 {
    padding-bottom: 0.3rem;
}
#strap-end_image-2 {
    padding-top: 50px;
}
.strap-try {
    margin: 50px 5%;
}
.strap-try_image img {
    width: 100%;
}
.strap-try_container {
    display: grid;
    gap: 30px;
    padding: 10px 40px 20px 40px;
}
#strap-rink img {
    width: 100%;
}
#strap-rink {
    position: relative;
    display: block;
    width: 70%;
    margin: 80px auto;
}
.strap-inner_text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(255, 255, 255, 0.8);
    padding: 0.4rem 0.7rem;
    border-radius: 5px;
}
.strap-inner_text a {
    white-space: nowrap;
}
/****/
/*鍵盤ハーモニカ*/
.melodica-list {
    padding-top: 0.3rem;
    padding-left: 1rem;
}
.melodica-movie iframe {
    width: 100%;
}
.melodica_text {
    padding: 2rem 0;
}
/**/
/*コラム*/
.column-title {
    background-color: #fafad2;
}
.column-title h1 {
    font-size: 1.3rem;
    color: #333132;
    padding: 1rem;
    line-height: 1.9rem;
}
.kaisetu {
    text-align: right;
    font-size: 0.8rem;
}
.column-top {
    margin-bottom: 2rem;
}
.column-top-image {
    width: 90%;
    display: block;
    margin: 20px auto 10px;
}
.column-top-image img {
    width: 100%;
}
.column-text {
    padding: 0 0.5rem;
}
.column {
    margin: 1rem 0;
}
.column h2 {
    font-size: 1.2rem;
    padding: 2rem 0.5rem 0;
    color: #1a00e9;
}
.column h3 {
    font-size: 1.2rem;
    font-weight: normal;
    border-bottom: #333132 1px solid;
    padding: 0 0.5rem;
    margin: 3rem 0 1rem;
}
.orange {
    color: #e67e00;
    font-weight: bold;
}
.column-image,
.column-image_container {
    padding: 2rem 0.5rem 0.5rem;
}
.column-image img {
    width: 100%;
}
.column-text ul,
.column-text ol {
    padding: 1rem 0 1rem 1rem;
}
.column-image-inner img {
    width: 100%;
    display: block;
    transition: transform 0.4s ease;
}
.column-image-inner {
    position: relative;
    overflow: hidden;
}
.column-image-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 2;
}
.column-image-text span {
    font-size: 1.2rem;
}
.column-image-inner::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
}
/*ホバー時*/
.column-image-inner:hover img {
    transform: scale(1.3);
}
.column-image-inner:hover .column-image-text {
    opacity: 1;
}
.column-image-inner:hover::after {
    opacity: 1;
}
/**/
.ac-code img {
    width: 100%;
    height: auto;
    display: block;
}
.ac-code {
    width: 100%;
    display: block;
    margin-bottom: 20px;
}
/**PCレスポンシブ**/
@media (max-width: 1023px) {
    .pc {
        display: none !important;
    }
    .col-md-3 {
        flex: 1 0 50%;
        padding: 0 10px;
    }
    .sidebar {
        margin-top: 100px;
    }
}
@media (min-width: 1024px) {
    .sp {
        display: none !important;
    }
    .title {
        font-size: 2rem;
        padding-bottom: 40px;
    }
    #top-title h1 {
        text-align: center;
        font-size: 1.8rem;
    }
    /**ヘッダー**/
    #logo {
        width: 20%;
        padding-top: 5px;
    }
    #logo img {
        width: 200px;
    }
    #logo-title {
        padding: 30px 0 0 4%;
        position: relative;
        background-color: white;
    }
    #shop_link {
        position: absolute;
        right: 0;
        top: 0;
        z-index: 5000;
        padding-top: 30px;
    }
    #shop_link img {
        width: 60%;
    }
    .main_title_pc {
        width: 44%;
    }
    .main_title_pc p {
        font-size: 2rem;
        color: #1a00e9;
        padding-top: 1.1rem;
        text-align: center;
    }
    /***メインメニュー***/
    #menubar {
        height: 80px;
        background-color: #1a00e9;
        top: 0;
        z-index: 9999;
        position: relative;
        margin-top: 30px;
    }
    
    .main-nav {
        display: flex;
        list-style: none;
        justify-content: space-between;
        width: 75%;
        margin: 0 auto;
        flex-wrap: nowrap;
        
    }
    .main-nav li {
        font-size: 1.3rem;
        padding-top: 15px;
    }
    .main-nav li a {
        text-decoration: none;
        color: white;
    }
    .main-nav li a:hover {
        color: #FBFF2D;
    }
    .furigana {
        font-size: 0.9rem;
        display: block;
        text-align: center;
    }
    
    /**スライダー**/
    .swiper-slide img {
        height: 450px;
        object-fit: cover;
    }
    .swiper {
        margin-bottom: 100px;
    }
    /**NEWS**/
    #news_sec {
        padding: 0 5% 70px 5%;
        margin: 0 auto;
    }
    /* row全体は通常表示 */
    .row {
        overflow: hidden;
    }

    /* 4記事目以降だけ横並び */
    .row .col-md-6:nth-child(n+4) {
        flex: 0 0 30%; /* 横スクロール時の1記事幅 */
    }

    /* 横スクロール用コンテナ化 */
    .row {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 30px;
        padding-bottom: 20px;
    }
    .row::-webkit-scrollbar {
        display: none;
    }

    /* 1〜3記事目は固定表示 */
    .row .col-md-6:nth-child(-n+3) {
        flex: 0 0 30%;
    }

    /* スクロールバー調整（任意） */
    .row::-webkit-scrollbar {
        height: 8px;
    }

    .row::-webkit-scrollbar-thumb {
        background: #c0c0c0;
        border-radius: 4px;
    }

    .row::-webkit-scrollbar-track {
        background: #eee;
    }
    .contents {
        display: block;
        margin: 0 auto;
    }
    .col-md-3 {
        display: flex;
        justify-content: center;
        flex: 1 0 25%;
    }
    .news {
        display: block;
        margin: 0 auto;
    }
    .outer {
        justify-content: space-around;
    }
    .post-categories li {
        font-size: 0.8rem;
        line-height: 0.9rem;
    }
    /**CONTENTS**/
    .contents_title {
        font-size: 1.2rem;
    }
    .contents_desc {
        font-size: 1rem;
        line-height: 1.5rem;
    }
    /*カート*/
    #cart {
        display: block;
        width: 80%;
        margin: 0 auto;
        padding-bottom: 40px;
    }
    .shop-list_container {
        display: flex;
        justify-content: space-between;
        padding-left: 20px;
        gap: 10px;
    }
    .item_container {
        display: flex;
        margin: 80px auto;
    }
    .item-image {
        width: 7vw;
        display: grid;
        align-items: center;
    }
    .item-image img {
        aspect-ratio: 1/ 1;
    }
    .shop-list {
        width: 12rem;
    }
    .item-box {
        display: block;
        margin: 0 auto;
    }
    #thanks::after {
        right: -30px;
    }
    /**INFO**/
    .container-info {
        text-align: center;
    }
    .info {
        padding: 0 5%;
        margin-bottom: 30px;
        display: inline-block;
        text-align: left;
        list-style: none;
    }
    .info_title {
        font-size: 1.3rem;
        text-align: left;
    }
    .info_desc {
        font-size: 1rem;
        line-height: 1.8rem;
    }
    .info_inner {
        width: 100%;
        text-align: center;
        margin: 0 auto;
    }
    #info_sec {
        display: block;
        margin: 0 auto;
    }
    
    /**ACCESS**/
    #access_sec {
        width: 64%;
        padding-left: 5%;
    }
    .access {
        margin-bottom: 50px;
    }
    .access_desc {
        font-size: 1rem;
        line-height: 1.8rem;
    }
    .outer_big {
        display: flex;
    }
    #x_sec {
        width: 28%;
    }
    .outer_small {
        display: flex;
        justify-content: space-around;
    }
    .access_shop {
        font-size: 1.5rem;
        padding-top: 3rem;
    }
    .access_pic {
        margin: 0 80px;
    }
    .shop_sub {
        font-size: 1rem;
    }
    /**レビュー**/
    .review_space {
        display: flex;
        justify-content: space-between;
    }
    #review {
        margin: 0 80px;
    }
    /*更新履歴*/
    .update-text {
        margin: 0 auto;
        display: block;
        width: 80%;
    }
    .update-text li {
        font-size: 1rem;
    }
    /**フッター**/
    footer {
        padding-left: 10%;
        padding-right: 10%;
    }
    #footermenu ul a {
        font-size: 1.1rem;
    }
    #footermenu {
        padding-bottom: 2rem;
    }
    #copyright p {
        font-size: 0.9rem;
    }
    /**NEWS投稿個別ページ**/
    #news_page {
        margin: 0 13%;
    }
    article {
        width: 65%;
        margin-left: 8%;
    }
    aside {
        width: 27%;
        display: block;
        margin: 50px auto;
    }
    .news_page_container {
        display: flex;
    }
    .page_title h1 {
        font-size: 2rem;
    }
    .page_title h2 {
        font-size: 2rem;
    }
    .page_title {
        margin-top: 100px;
    }
    .news_title {
        font-size: 1.4rem;
        padding-bottom: 0.5rem;
        line-height: 2rem;
    }
    .news_pic {
        margin: 30px auto;
        width: 80%;
    }
    .news_desc {
        font-size: 1.1rem;
    }
    .news_desc p {
        line-height: 2rem;
    }
    .news_desc p img {
        padding: 2rem 0;
    }
    .postLinks {
        font-size: 1rem;
    }
    .archive_list li {
        font-size: 1rem;
    }
    .category h3 {
        font-size: 1rem;
    }
    .category_title {
        width: 9rem;
    }
    .news_meta {
        font-size: 0.9rem;
    }
    /**COMPANY**/
    .company_sec {
        display: flex;
    }
    .x {
        padding: 0 50px;
    }
    .sidebar {
        margin-right: 50px;
        margin-top: 0;
    }
    .com_title {
        width: 30%;
    }
    .company_pic img {
        width: 70%;
    }
    .pre {
        margin-top: 70px;
    }
    .center {
        text-align: center;
    }
    .greetings {
        width: 70%;
    }
    /**スクール**/
    .school_sec {
        display: flex;
    }
    .school_outer {
        margin-left: 10%;
    }
    .school_wrapper {
        display: flex;
    }
    .school_pic img {
        width: 300px;
        padding-right: 16px;
    }
    .explanation {
        text-align: right;
    }
    .trial p {
        font-size: 1.4rem;
        line-height: 2.5rem;
    }
    .trial {
        margin-left: 20%;
    }
    .school_title {
        width: 70%;
        font-size: 1.4rem;
    }
    /**サイトポリシー**/
    #policy_page {
        text-align: center;
    }
    .site-policy_desc p {
        font-size: 1rem;
        line-height: 1.8rem;
    }
    .site-policy_desc h3 {
        font-size: 1.3rem;
        margin-bottom: 0.5rem;
        text-indent: 0.3em;
    }
    .site-policy_desc {
        margin-bottom: 30px;
        display: inline-block;
        text-align: left;
        width: 60%;
    }
    .privacy-policy_desc p {
        font-size: 1rem;
        line-height: 1.8rem;
    }
    .privacy-policy_desc h3 {
        font-size: 1.3rem;
        margin-bottom: 0.5rem;
        text-indent: 0.3em;
    }
    .privacy-policy_desc {
        margin-bottom: 30px;
        display: inline-block;
        text-align: left;
        width: 60%;
    }
    /*カテゴリー*/
    .school_text_category {
        text-align: center;
    }
    .category table {
        width: 55%;
        height: auto;
    }
    .category table td {
        line-height: 2.5rem;
    }
    #line-banner {
        margin: 150px 80px;
    }
    /*ストラップページ*/
    #strap h1 {
        font-size: 1.7rem;
        white-space: nowrap;
    }
    .writer {
        width: 60%;
        display: block;
        margin: 0 auto;
        font-size: 0.9rem;
    }
    .strap-top {
        width: 60%;
        display: block;
        margin: 0 auto;
    }
    .strap-top_text {
        font-size: 1.3rem;
        text-align: center;
        line-height: 2.2rem;
    }
    .strap-top_text p {
        display: inline-block;
        text-align: left;
    }
    .strap-container_outer {
        display: flex;
        justify-content: center;
        gap: 5vw;
        width: 70%;
        margin: 150px auto;
    }
    .strap-container {
        margin: 0;
    }
    .strap_text {
        font-size: 1.2rem;
        padding-top: 0.6rem;
        line-height: 2rem;
    }
    .strap-end {
        display: block;
        width: 40%;
        margin: 0 auto;
    }
    .strap-end h2 {
        text-align: center;
        font-size: 1.7rem;
        padding-bottom: 1rem;
    }
    #strap-end_image-2 {
        padding-top: 200px;
    }
    .strap-try {
        padding-top: 100px;
    }
    .strap-try h2 {
        text-align: center;
        font-size: 1.7rem;
    }
    .strap-try_container {
        grid-template-columns: repeat(3,1fr);
        padding-top: 20px;
    }
    #strap-rink {
        width: 400px;
        margin: 250px auto;
    }
    /*****/
    /*鍵盤ハーモニカ*/
    .melodica_text {
        font-size: 1.2rem;
        padding: 4rem 0;
    }
    .melodica-list ul li {
        font-size: 1.2rem;
    }
    /**/
    /*コラム*/
    .column-title {
        text-align: center;
        margin-top: 2rem;
        background-color: initial;
    }
    .column-title h1 {
        font-size: 2rem;
        line-height: 2.8rem;
        text-align: left;
        display: inline-block;
    }
    .kaisetu {
        font-size: 0.9rem;
        padding-right: 2rem;
    }
    .column-outer {
        width: 70%;
        display: block;
        margin: 0 auto;
    }
    .column-top-image {
        width: 60%;
    }
    .column-text {
        font-size: 1.1rem;
        width: 60%;
        display: block;
        margin: 2rem auto;
        line-height: 1.7rem;
    }
    .column h2 {
        display: block;
        width: 70%;
        margin: 5rem auto 0;
        font-size: 1.6rem;
    }
    .column h3 {
        display: block;
        width: 70%;
        margin: 3rem auto 1rem;
        font-size: 1.4rem;
    }
    .column-image {
        width: 60%;
        display: block;
        margin: 0 auto;
    }
    .column-image_container {
        width: 60%;
        margin: 0 auto;
    }
    .ac-code {
        display: flex;
        width: 60%;
        margin: 0 auto;
    }
    .ac-code div {
        flex: 1;
    }
    /**/
    /*修正*/
    .has-post-thumbnail {
        width: 90%;
    }
    
}
