@charset "UTF-8";
/*!
Theme Name: lm
Version: 1.0.0
*/

/** 
 ************************************************************
 * Foundation
 ************************************************************
 */

/* Reset/Normalize
--------------------------------------------- */

/* Box sizing rules */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
    list-style: none;
}

/* Set core root defaults */
html:focus-within {
    scroll-behavior: smooth;
}

/* Set core body defaults */
body {
    text-rendering: optimizeSpeed;
    line-height: 1.5;

    display: flex;
    min-height: 100dvh;
    flex-direction: column;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
    text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
    max-width: 100%;
    display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
    font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Base Styles
--------------------------------------------- */
html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

body {
    background: var(--body-background);
    font-family: var(--body-font-family);
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 2;
}

p {
    letter-spacing: 3px;
}

a {
    text-decoration-line: none;
    color: inherit;
}

ul {
    list-style: none;
}

#wpadminbar {
    position: fixed;
}

/* v共通化 ここから
--------------------------------------------- */
/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
    border: 0;
    font-family: inherit;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline;
}
:focus {
    outline: 0;
}
ol,
ul {
    list-style: none;
}
table {
    border-collapse: separate;
    border-spacing: 0;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
}
blockquote,
q {
    quotes: '' '';
}
a img {
    border: 0;
    backface-visibility: hidden; /*Choromeで画像ホバー時のちらつきを防ぐ*/
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}
figure {
    margin: 0;
}
figure img {
    padding: 0 !important;
    border: 0 !important;
}
body {
    font:
        90%/1.5 '游ゴシック',
        'Yu Gothic',
        '游ゴシック体',
        'YuGothic',
        'メイリオ',
        Meiryo,
        'Meiryo UI',
        'ヒラギノ角ゴ Pro W3',
        'Hiragino Kaku Gothic Pro',
        'ＭＳ Ｐゴシック',
        'MS PGothic',
        sans-serif;
    color: #252525;
    -webkit-text-size-adjust: none;
    overflow-x: hidden; /*3.02*/
}
/*------------------------------------------------------------
初期：リンク設定
------------------------------------------------------------*/
a {
    margin: 0;
    padding: 0;
    text-decoration: none;
    outline: 0;
    vertical-align: baseline;
    background: transparent;
    font-size: 100%;
    color: #777;
}
a:hover,
a:active {
    -webkit-transition: opacity 1s;
    -moz-transition: opacity 1s;
    -o-transition: opacity 1s;
    outline: none;
    color: #999;
}
/*------------------------------------------------------------
初期：画像
------------------------------------------------------------*/
a img {
    /*transition使用*/
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
a:hover img {
    opacity: 0.5;
    filter: alpha(opacity=80);
    -ms-filter: 'alpha( opacity=80 )';
}
/**** Clearfix ****/
nav .panel:after,
nav#mainNav:after,
.newsTitle:after,
.bg:after,
.post:after {
    content: '';
    display: table;
    clear: both;
}
nav .panel,
nav#mainNav,
.newsTitle,
.bg,
.post {
    zoom: 1;
}
/*------------------------------------------------------------
初期：フォーム設定
------------------------------------------------------------*/
input.wpcf7-form-control[type='text'],
input.wpcf7-form-control[type='tel'],
input.wpcf7-form-control[type='email'],
input.wpcf7-form-control[type='date'],
input.wpcf7-form-control[type='url'],
input.wpcf7-form-control[type='number'],
select,
textarea {
    vertical-align: middle;
    line-height: 30px;
    height: 30px;
    padding: 1px 5px;
    border: 1px solid #d4d4d7;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    color: #555;
    background: #fcfcfc;
    margin-bottom: 5px;
    width: 100%;
    box-sizing: border-box;
}
.wpcf7 span.must {
    padding: 0.2em 0.6em;
    background: blue;
    color: #fff;
    border-radius: 5px;
    margin-left: 0.8em;
    vertical-align: middle;
    font-size: 75%;
}
.wpcf7 table th {
    text-align: left;
}
.wpcf7-spinner {
    display: block;
}
/* v共通化 ここまで
--------------------------------------------- */

/* Variables: 変数定義
--------------------------------------------- */
:root {
    /** spacing
      8~80までは2pxずつ。
      80~200までは8pxずつ増加。
    ****************************************/
    --space-8: clamp(4px, 0.42vw, 8px);
    --space-10: clamp(5px, 0.52vw, 10px);
    --space-12: clamp(6px, 0.63vw, 12px);
    --space-14: clamp(7px, 0.73vw, 14px);
    --space-16: clamp(8px, 0.83vw, 16px);
    --space-18: clamp(9px, 0.94vw, 18px);
    --space-20: clamp(10px, 1.04vw, 20px);
    --space-22: clamp(11px, 1.15vw, 22px);
    --space-24: clamp(12px, 1.25vw, 24px);
    --space-26: clamp(13px, 1.35vw, 26px);
    --space-28: clamp(14px, 1.46vw, 28px);
    --space-30: clamp(15px, 1.56vw, 30px);
    --space-32: clamp(16px, 1.67vw, 32px);
    --space-34: clamp(17px, 1.77vw, 34px);
    --space-36: clamp(18px, 1.88vw, 36px);
    --space-38: clamp(19px, 1.98vw, 38px);
    --space-40: clamp(20px, 2.08vw, 40px);
    --space-42: clamp(21px, 2.19vw, 42px);
    --space-44: clamp(22px, 2.29vw, 44px);
    --space-46: clamp(23px, 2.4vw, 46px);
    --space-48: clamp(24px, 2.5vw, 48px);
    --space-50: clamp(25px, 2.6vw, 50px);
    --space-52: clamp(26px, 2.71vw, 52px);
    --space-54: clamp(27px, 2.81vw, 54px);
    --space-56: clamp(28px, 2.92vw, 56px);
    --space-58: clamp(29px, 3.02vw, 58px);
    --space-60: clamp(30px, 3.13vw, 60px);
    --space-62: clamp(31px, 3.23vw, 62px);
    --space-64: clamp(32px, 3.33vw, 64px);
    --space-70: clamp(35px, 3.65vw, 70px);
    --space-72: clamp(36px, 3.75vw, 72px);
    --space-80: clamp(40px, 4.17vw, 80px);
    --space-88: clamp(44px, 4.58vw, 88px);
    --space-96: clamp(48px, 5vw, 96px);
    --space-100: clamp(50px, 5.21vw, 100px);
    --space-104: clamp(52px, 5.42vw, 104px);
    --space-112: clamp(56px, 5.83vw, 112px);
    --space-120: clamp(60px, 6.25vw, 120px);
    --space-128: clamp(64px, 6.67vw, 128px);
    --space-136: clamp(68px, 7.08vw, 136px);
    --space-144: clamp(72px, 7.5vw, 144px);
    --space-150: clamp(75px, 7.81vw, 150px);
    --space-152: clamp(76px, 7.92vw, 152px);
    --space-160: clamp(80px, 8.33vw, 160px);
    --space-168: clamp(84px, 8.75vw, 168px);
    --space-176: clamp(88px, 9.17vw, 176px);
    --space-184: clamp(92px, 9.58vw, 184px);
    --space-192: clamp(96px, 10vw, 192px);
    --space-200: clamp(100px, 10.42vw, 200px);

    /** 部品サイズ
     ****************************************/
    --header-height: 100px;

    /** inner
     ****************************************/
    /** innerの基本横幅 */
    --inner-width: 90vw;
    /** innerの最大横幅 */
    --inner-max-width-px: 1280px;
    /** innerの実際の横幅 */
    --inner-content-width: min(var(--inner-width), var(--inner-max-width-px));
    --inner-margin: calc(100% - var(--inner-content-width));
    --inner-margin-one-side: calc(var(--inner-margin) / 2);
    --page-right-margin-size: var(--space-34);
    --page-left-margin-size: var(--space-34);

    /** font-size
     ****************************************/
    --font-size-h1: clamp(30px, 3.13vw, 60px);
    --font-size-h2: clamp(25px, 1.82vw, 35px);
    --font-size-h3: clamp(20px, 1.56vw, 30px);

    --font-size-8: clamp(8px, 0.42vw, 8px);
    --font-size-9: clamp(9px, 0.47vw, 9px);
    --font-size-10: clamp(10px, 0.52vw, 10px);
    --font-size-11: clamp(11px, 0.57vw, 11px);
    --font-size-12: clamp(12px, 0.63vw, 12px);
    --font-size-13: clamp(13px, 0.68vw, 13px);
    --font-size-14: clamp(14px, 0.73vw, 14px);
    --font-size-15: clamp(15px, 0.78vw, 15px);
    --font-size-16: clamp(16px, 0.83vw, 16px);
    --font-size-46: clamp(36px, 2.4vw, 46px);

    /** ヘッダーサムネイル */
    --headerThumbnail-titleSize: clamp(40px, 2.29vw, 44px);
    --headerThumbnail-bgHeight: clamp(150px, 15.63vw, 300px);

    /* z-index */
    --z-index-header: 100;
    --z-index-loading-absolute: 99999;
    --z-index-plugin-preloader: 99998;
    --z-index-loading: 99990;
}

:root {
    --body-background: #fff;
    --body-font-family: 'Noto Serif JP', serif;
    --inner-width: 90%;
    --inner-max-width-px: 1280px;
    --inner-content-width: min(var(--inner-width), var(--inner-max-width-px));

    --admin-bar-height: 0px;
}
body.admin-bar {
    --admin-bar-height: 32px;
}
@media screen and (max-width: 782px) {
    body.admin-bar {
        --admin-bar-height: 46px;
    }
}

/* WP機能調整
--------------------------------------------- */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/* Galleries */
.gallery {
    margin-bottom: 1.5em;
    display: grid;
    grid-gap: 1.5em;
}

.gallery-item {
    display: inline-block;
    text-align: center;
    width: 100%;
}

.gallery-columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
    grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
    grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
    grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
    grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
    display: block;
}

/* Alignments */
.alignleft {
    /*rtl:ignore*/
    float: left;
    /*rtl:ignore*/
    margin-right: 1.5em;
    margin-bottom: 1.5em;
}

.alignright {
    /*rtl:ignore*/
    float: right;
    /*rtl:ignore*/
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}

.aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    /* margin-bottom: 1.5em; */
}

/** 
 ************************************************************
 * Layout
 ************************************************************
 */
/*------------------------------------*\
    インナー
\*------------------------------------*/
.lInner {
    width: var(--inner-content-width);
    margin-left: auto;
    margin-right: auto;
}

.lInner.lInner--extendToRight {
    margin-left: calc((100% - var(--inner-content-width)) / 2);
    margin-right: 0;
    width: calc(var(--inner-content-width) + var(--inner-margin-one-side));
}

/* PC */
@media print, screen and (min-width: 1024px) {
    .lInner.lInner--pcExtendToRight {
        margin-left: calc((100% - var(--inner-content-width)) / 2);
        margin-right: 0;
        width: calc(var(--inner-content-width) + var(--inner-margin-one-side));
    }
}

/*------------------------------------*\
    スティッキーフッター
\*------------------------------------*/
/* 画面の高さを最低100dvhに調整 */
.lArticle {
    flex-grow: 1;
}
body.admin-bar {
    min-height: calc(100dvh - var(--admin-bar-height));
}

/*------------------------------------*\
    ヘッダー
\*------------------------------------*/
/* → header.css を参照 */

/*------------------------------------*\
    ヘッダーサムネイル
\*------------------------------------*/
.lHeaderThumbnail {
    position: relative;
}
.lHeaderThumbnail__background img {
    width: 100%;
    max-height: var(--headerThumbnail-bgHeight);
    object-fit: cover;
    position: relative;
}
.lHeaderThumbnail__title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 19px;
    text-align: center;
    color: #fff;
    line-height: 1.5;
    font-weight: 500;
    font-family: 'Noto Sans JP';
    z-index: 2;
}

/** 
 ************************************************************
 * Object
 ************************************************************
 */

/*------------------------------------*\
    パンくずリスト
\*------------------------------------*/
.lBreadcrumbContainer {
    width: var(--inner-content-width);
    margin-left: auto;
    margin-right: auto;
}
.pBreadcrumb {
    padding: 10px 0;
    list-style: none;
}
.pBreadcrumb li {
    display: inline;
    margin-right: 5px;
}
.pBreadcrumb li:not(:last-child) {
    margin-right: 5px;
}
.pBreadcrumb li:not(:last-child)::after {
    content: '/';
    margin-left: 5px;
}
.pBreadcrumb li a {
    text-decoration: none;
}
.pBreadcrumb li a:hover {
    text-decoration: underline;
}

/*------------------------------------*\
      投稿一覧ページ ページナビゲーション
\*------------------------------------*/
ul.page-numbers {
    --main-color: #000;
    display: flex;
    justify-content: center;
    column-gap: 12px;
    flex-wrap: wrap;
    row-gap: 12px;
    padding: 0;
}
ul.page-numbers li a,
ul.page-numbers li span {
    width: 2em;
    height: 2em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
ul.page-numbers li a {
    border: 1px solid var(--main-color);
}
ul.page-numbers li a:hover {
    background: var(--main-color);
    color: #fff;
}
ul.page-numbers li span.current {
    background: var(--main-color);
    color: #fff;
}

/*------------------------------------*\
      投稿詳細ページ
\*------------------------------------*/
.pPost__title {
    font-size: var(--font-size-40);
    font-weight: 400;
}
.pPost__categoryLink a {
    display: inline-block;
    border: 0.5px solid #c2c2c2;
    padding-inline: 12px;
    padding-block: 4px;
}

/*------------------------------------*\
      サイトマップページ
\*------------------------------------*/
.sitemap_list {
    li {
        background: none;
        ul {
            padding-left: 20px;
        }
    }
    a {
        padding: 0.8em 0;
        border-bottom: solid 1px #cfcfcf;
        display: block;
    }
}
