/*アフィリエイト関連*/
.btn-1 {
    background-color: #ff0000;
    color: #fff;
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.2);
    font-weight: bold;
    border-radius: 4px;
    max-width: 80%;
    margin: 0.5em auto;
    padding: 0;
    text-align: center;
    line-height: 1.4;
    transition: all .2s ease;
    opacity: 0.8;
}

.btn-1:hover {
    box-shadow: none;
    transform: translateY(2px);
}

.btn-1 a {
    text-decoration: none !important;
    color: #fff !important;
    display: block;
    margin: 0;
    padding: 0.5em;
}

.btn-1 > img { float: left; }
.btn-1::after{ content: ''; clear: left; }

/*グーグルカレンダーレスポンシブ*/
.cal_wrapper {
    max-width: 960px;
    min-width: 300px;
    margin: 2.0833% auto;
}
.googlecal {
    position: relative;
    padding-bottom: 100%;
    height: 0;
}
.googlecal iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
}
@media only screen and (min-width: 768px) {
    .googlecal { padding-bottom: 75%; }
}

/*文字サイズ*/
body {
    font-size: 16px !important;
}

/* サイト全体の横はみ出し・右側の空白を防ぐ */
html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

<!-- ここからめたんのアドバイス -->
/* サイト全体の親要素を強制的に画面幅に収める */
html, body, #container, #wrapper, #page, .site {
  overflow-x: clip !important;
  overflow-x: hidden !important;
  max-width: 100vw !important;
  position: relative !important;
}

/* 記事内の全画像・動画・テーブルの飛び出しを防止 */
img, video, iframe, table {
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box !important;
}

/* 記事ページの本文エリア全体の飛び出しを抑える */
.single .entry-content,
.single article,
.single main {
  overflow-x: hidden !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* SNSシェアボタン群が横に突き抜けるのを防ぐ */
.sns-share, .share-buttons, .sns-group, [class*="share"] {
  max-width: 100% !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* 冒頭の告知ボックスの横幅を100%に固定 */
.single .entry-content > div:first-child,
.single [style*="background"] {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* 1. 長いURLや英単語の自動折り返し（テキストのはみ出し防止） */
body, p, a, div, span, li {
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
}

/* 2. 検索フォームの横幅を画面内に収める */
form, .search-form, #searchform {
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-wrap: nowrap !important;
}

/* 検索入力欄と検索ボタンの幅制御 */
.search-form input[type="search"],
.search-form input[type="text"],
#searchform input[type="text"],
form input[type="text"] {
  max-width: 80% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.search-form button,
.search-form input[type="submit"],
#searchform input[type="submit"] {
  max-width: 20% !important;
  box-sizing: border-box !important;
}

/* 3. 画面外の要素を確実にカット */
html, body {
  overflow-x: clip !important;
  overflow-x: hidden !important;
}