@charset "UTF-8";
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, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  text-decoration: none;
  font-family: "Noto Sans JP", sans-serif; /* GoogleFonts ゴシック：Noto Sans JP　明朝体：Noto Serif JP*/
  /*font-family: Arial,Helvetica,"游ゴシック",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;*/ /*角ゴシック体 */
  /*font-family: 'Kosugi Maru', sans-serif;*/ /* 丸ゴシック */
  font-weight: revert;
  list-style: none;
  line-height: 35px;
  color: #4e5d81;
  word-wrap: break-word;
  overflow-wrap: break-word;
  letter-spacing: 0.06em;
  box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
img {
  max-width: 100%;
  height: auto;
  line-height: 0;
}

#sbi_load span {
  color: #fff !important;
}

a:has(> img) {
  line-height: 0;
  display: inherit;
}

p:has(> img) {
  line-height: 0;
  display: inherit;
}

a[target=_blank]::after {
  font-family: "Fontawesome";
  content: "\f08e";
  margin: 0 5px;
}

main a:not(.btn a, .contact-box dd a, .news a, main .main #index a, main .single-text #index a, .sitemap li a, .nav-links a, .paging a, .post-list a, .features_box a) {
  text-decoration: underline;
  color: #2a344a;
}

#sb_instagram a[target=_blank]::after, #ad a[target=_blank]::after {
  content: "";
  margin: 0px;
}

a[href$=".pdf"]::before {
  font-family: "Fontawesome";
  content: "\f1c1";
  margin: 0 5px;
  color: #d21c00;
}
p.btn a[href$=".pdf"]::before {
  color: #fff;
}

a[href$=".zip"]::before {
  font-family: "Fontawesome";
  content: "\f1c6";
  margin: 0 5px;
  color: #f6de8e;
}
p.btn a[href$=".zip"]::before {
  color: #fff;
}

/* font-size */
h2 {
  font-size: 1.4em;
}

h3 {
  font-size: 1.3em;
}

h4 {
  font-size: 1.2em;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

figure {
  line-height: 0;
}

details > summary {
  list-style: none; /* アイコンを非表示にする */
}

details > summary::-webkit-details-marker {
  display: none; /* WebKit系ブラウザでアイコンを非表示にする */
}

/* ページトップ */
#PageTopBtn {
  position: fixed;
  bottom: 0px;
  right: 0;
}
#PageTopBtn a {
  display: block;
  text-align: center;
  border-radius: 5px 0 0 0;
  outline: none;
  width: 100px;
  padding: 15px 0;
  font-size: 30px;
  color: #FFF;
  background: #2a344a;
}
#PageTopBtn a:before {
  font-family: "Fontawesome";
  content: "\f0aa";
  position: relative;
}
#PageTopBtn a:hover {
  background: #050609;
}

main .main, main .single-text, ul#bread {
  max-width: 900px;
  margin: 0 auto;
}

.contact-box .home-mail-btn dl dd, .contact-box .home-line-btn dl dd, .contact-box .home-tel dl dd, main .main p.btn, main .single-text p.btn, main .main .paging div, main .single-text .paging div, header nav #headtel {
  border: 1px solid #dedede;
  border-radius: 3px;
}

.text_align_right {
  text-align: right;
}

.text_align_center {
  text-align: center;
}

.text_align_left {
  text-align: left;
}

.text-justify {
  text-align: justify;
}

main .main .features_box figure figcaption .title, main .single-text .features_box figure figcaption .title {
  font-weight: 300;
  margin-bottom: 4vh;
  font-size: 2rem;
  margin-left: 0;
  padding-left: 0;
}

.flex2 {
  flex: 2 !important;
}

/* じわっと出てくる */
.blur {
  animation-name: blurAnime;
  animation-duration: 1.1s;
  animation-fill-mode: forwards;
}

@keyframes blurAnime {
  from {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
.blurTrigger {
  opacity: 0;
}

/* 骨組み */
header {
  padding: 1em;
  display: flex;
  justify-content: space-between;
  position: sticky;
  z-index: 1000;
  top: 0;
  background-color: rgba(255, 255, 255, 0.5); /* 白色で70%の透過 */
  backdrop-filter: blur(10px); /* 10pxのぼかし効果を適用 */
  -webkit-backdrop-filter: blur(10px); /* Safari用のベンダープレフィックス */
}
header h1 img {
  width: 290px;
}
header nav {
  font-size: clamp(10px, 1vw, 14px);
}
header nav > ul {
  display: flex;
  gap: 2em;
  align-items: center;
  height: 100%;
}
header nav > ul li .sub-menu {
  display: none;
}
header nav > ul li:hover .sub-menu {
  display: block;
  position: absolute;
  width: 240px;
}
header nav > ul li:hover .sub-menu li {
  background: rgba(255, 255, 255, 0.9);
}
header nav > ul li:hover .sub-menu li a {
  display: block;
  padding: 0.5em 1.5em;
  width: 100%;
}
header nav > ul li.menu-item-has-children {
  position: relative;
}
header nav > ul li.menu-item-has-children > a:after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1px solid #2a344a;
  border-bottom: 1px solid #2a344a;
  margin: 0px 0 6% 10px;
  transform: rotate(45deg);
}
header nav a:hover {
  color: #2a344a !important;
}
header nav #headtel {
  padding: 5px 20px;
  text-align: center;
}
header nav #headtel #telnumber {
  font-family: "Oswald", sans-serif;
}
header nav #headtel #telnumber:before {
  font-family: "Fontawesome";
  content: "\f098";
  position: relative;
  left: -5px;
  top: -0.5px;
}

/* メイン画像 */
/*
#mainimg {
	ul {
		display: flex;
		justify-content: center;
		align-items: center;

		li {
			width: calc(100% / 5);

			&:nth-child(1) {
				background: $wp-color;
			}//1

			&:nth-child(2) {
				background: $php-color;
			}//2

			&:nth-child(3) {
				background: $html-color;
			}//3

			&:nth-child(4) {
				background: $css-color;
			}//4

			&:nth-child(5) {
				background: $js-color;
			}//5

			a {
				font-size: 7em;
				height: 3em;
				width: 100%;
				white-space: nowrap;
				overflow: hidden;
				font-weight: 900;
				letter-spacing: 0px;
				display: flex;
				justify-content: center;
				align-items: center;
				color: var(--wp--preset--color--white);
			}//a
		}//li
	}//ul
}//mainimg
*/
/* パンくず */
ul#bread {
  margin-bottom: 25px;
  margin-top: 10px;
  font-size: 75%;
}
ul#bread li {
  display: inline-block;
  padding: 0 10px;
}

/* パンくず end */
#container .contact {
  padding: 5em 1em 6em;
  background: #fbfbfb;
}

.home main .max-width {
  max-width: 1350px !important;
}

main {
  font-size: 17px;
}
main .main, main .single-text {
  padding: 5em 0;
  /* 複数並べるとき */
  /* ページネーション */
}
main .main h2, main .main h3, main .main h4, main .main h5, main .main h6, main .main dt, main .main b, main .main strong, main .main .title, main .main th, main .single-text h2, main .single-text h3, main .single-text h4, main .single-text h5, main .single-text h6, main .single-text dt, main .single-text b, main .single-text strong, main .single-text .title, main .single-text th {
  color: #30416b;
}
main .main h2, main .main h3, main .single-text h2, main .single-text h3 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-left: 1em;
  padding-right: 1em;
  line-height: normal;
  font-weight: 100;
}
main .main > h2, main .single-text > h2 {
  margin-bottom: 2em;
  font-size: clamp(18px, 2.5vw, 35px);
  margin-top: 2em;
  text-align: center;
}
main .main > h3, main .single-text > h3 {
  margin-bottom: 2em;
  font-size: clamp(1rem, 2.5vw, 2rem);
}
main .main > p, main .single-text > p {
  padding: 0 1em;
}
main .main .paging, main .single-text .paging {
  display: flex;
  padding: 0 1em;
  margin: 4em 0 0;
  gap: 2em;
  justify-content: space-between;
}
main .main .paging div, main .single-text .paging div {
  padding: 0.5em 2em;
}
main .main .paging div a:hover, main .single-text .paging div a:hover {
  color: #2a344a;
}
main .main .paging div.next, main .single-text .paging div.next {
  text-align: right;
}
main .main p.btn, main .single-text p.btn {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0.5em 2em;
  margin-top: 5em;
}
main .main p.btn a:hover, main .single-text p.btn a:hover {
  color: #2a344a;
}
main .main p.btn + p:not(.btn), main .single-text p.btn + p:not(.btn) {
  margin-top: 3em;
}
main .main .btns-list, main .single-text .btns-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2em;
}
main .main .btns-list p.btn, main .single-text .btns-list p.btn {
  margin: 0;
}
main .main .fit, main .single-text .fit {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
main .main #index, main .single-text #index {
  counter-reset: number 0;
  /*backdrop-filter: blur(4px);  10pxのぼかし効果を適用 */
  /*-webkit-backdrop-filter: blur(4px);  Safari用のベンダープレフィックス */
  background: rgba(240, 242, 245, 0.8) !important;
}
main .main #index li, main .single-text #index li {
  padding: 0 1em;
}
main .main #index li a:before, main .single-text #index li a:before {
  counter-increment: number 1;
  content: counter(number) ". ";
  position: relative;
}
main .main #index li a:hover, main .single-text #index li a:hover {
  font-weight: 600;
  text-decoration: underline;
}
main .main .work-list, main .single-text .work-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2em 1em;
  padding: 0 1em;
}
main .main .work-list li, main .single-text .work-list li {
  width: calc(33.3333333333% - 1em);
}
main .main .work-list li a, main .single-text .work-list li a {
  display: block;
}
main .main .work-list li a img:hover, main .single-text .work-list li a img:hover {
  opacity: 0.8;
}
main .main .column, main .single-text .column {
  display: flex;
  padding: 0 1em;
  flex-wrap: wrap;
}
main .main .features_box, main .single-text .features_box {
  display: flex;
  gap: 2vw;
  flex-direction: column;
}
main .main .features_box *, main .single-text .features_box * {
  display: flex;
}
main .main .features_box figure, main .single-text .features_box figure {
  flex: 1;
  gap: 2vw;
  align-items: center;
}
main .main .features_box figure figcaption, main .single-text .features_box figure figcaption {
  flex-direction: column;
  max-width: 680px;
  padding: 0 3em;
  text-align: justify;
  width: 100%;
}
main .main .features_box figure figcaption .title, main .single-text .features_box figure figcaption .title {
  text-align: left;
}
main .main .features_box figure figcaption .text, main .single-text .features_box figure figcaption .text {
  margin-bottom: 2em;
}
main .main .features_box figure figcaption .btn, main .single-text .features_box figure figcaption .btn {
  margin-top: 0;
  font-size: 14px;
}
main .main .step-flow, main .single-text .step-flow {
  display: flex;
  flex-direction: column;
  gap: 2em;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  padding: 0 1em;
}
main .main .step-flow *:not(dd, a, br), main .single-text .step-flow *:not(dd, a, br) {
  display: flex;
}
main .main .step-flow dl, main .single-text .step-flow dl {
  gap: 2em;
  padding-bottom: 2em;
}
main .main .step-flow dl dt, main .single-text .step-flow dl dt {
  font-weight: 800;
  position: relative;
  padding-right: 1em;
  font-size: 1.1em;
}
main .main .step-flow dl dt:after, main .single-text .step-flow dl dt:after {
  content: ":";
  position: absolute;
  right: 0;
  top: 0;
}
main .main .step-flow dl dd > a:after, main .single-text .step-flow dl dd > a:after {
  font-family: "Fontawesome";
  content: "\f14c";
  position: relative;
  margin: 0 0 0 10px;
}
main .main .step-flow dl dd a:hover, main .single-text .step-flow dl dd a:hover {
  color: #2a344a;
}
main .main table, main .single-text table {
  width: -moz-fit-content;
  width: fit-content;
  margin: 5em auto;
  border-top: 1px solid #dfdfdf;
}
main .main table tr, main .single-text table tr {
  display: flex;
  border-bottom: 1px solid #dfdfdf;
}
main .main table tr th, main .main table tr td, main .single-text table tr th, main .single-text table tr td {
  padding: 1em;
}
main .main table tr th, main .single-text table tr th {
  min-width: 150px;
  background: #f5f5f5;
}
main .main table.tax, main .single-text table.tax {
  position: relative;
}
main .main table.tax:after, main .single-text table.tax:after {
  position: absolute;
  content: "消費税別";
  right: 1em;
  font-size: 14px;
}
main .main ul.triangle, main .main ul.reference_mark, main .single-text ul.triangle, main .single-text ul.reference_mark {
  margin-top: 5em;
  display: flex;
  flex-direction: column;
  gap: 0.2em;
  padding: 0 1em;
}
main .main ul.triangle li, main .main ul.reference_mark li, main .single-text ul.triangle li, main .single-text ul.reference_mark li {
  position: relative;
  padding-left: 1.2em;
}
main .main ul.triangle li:before, main .main ul.reference_mark li:before, main .single-text ul.triangle li:before, main .single-text ul.reference_mark li:before {
  font-family: "Fontawesome";
  content: "\f0da";
  position: absolute;
  left: 0;
  top: 1px;
  font-size: 75%;
}
main .main ul.reference_mark, main .single-text ul.reference_mark {
  font-size: 0.7em;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}
main .main ul.reference_mark li:before, main .single-text ul.reference_mark li:before {
  content: "*";
}
main .main .pagination, main .single-text .pagination {
  text-align: center;
  display: flex;
  gap: 1em;
  justify-content: center;
  margin-top: 7em;
  padding: 0 1em;
}
main .main .pagination .nav-links, main .single-text .pagination .nav-links {
  display: flex;
  gap: 1em;
}
main .main .pagination span, main .main .pagination a, main .single-text .pagination span, main .single-text .pagination a {
  width: 2.4vw;
  height: 2.4vw;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 600;
  padding: 1em;
}
main .main .pagination a, main .single-text .pagination a {
  transition: 0.3s ease-in-out;
}
main .main .pagination a:hover, main .single-text .pagination a:hover {
  background: #21293a;
  color: #FFF;
}
main .main .pagination a:hover *, main .single-text .pagination a:hover * {
  color: #FFF;
}
main .main .pagination span, main .single-text .pagination span {
  background: #21293a;
  color: #FFF;
}
main .main blockquote, main .single-text blockquote {
  padding: 1em;
  font-style: italic;
}
main .main .office, main .single-text .office {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
main .main .office dl, main .single-text .office dl {
  display: flex;
  padding: 2rem 0 2rem 1rem;
}
main .main .office dl dt, main .single-text .office dl dt {
  flex: 1;
}
main .main .office dl dd, main .single-text .office dl dd {
  flex: 3;
}
main .main .office dl:not(:last-child), main .single-text .office dl:not(:last-child) {
  border-bottom: 1px solid #dfdfdf;
}
main .max-width {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
main .mw {
  width: 100% !important;
  max-width: initial !important;
  margin: 0 !important;
}
main .news, main .main #index, main .single-text #index {
  padding: 5em 2em;
  background: #f0f2f5;
}
main .news ul, main .main #index ul, main .single-text #index ul {
  flex-direction: column;
}
main .news ul *, main .main #index ul *, main .single-text #index ul * {
  display: flex;
  gap: 0.2em;
  align-items: baseline;
}
main .news ul li, main .main #index ul li, main .single-text #index ul li {
  gap: 1em;
  margin: 1em 0;
}
main .news ul li:first-child, main .main #index ul li:first-child, main .single-text #index ul li:first-child {
  font-weight: 100;
  font-size: clamp(3rem, 2.5vw, 4rem);
  line-height: normal;
  margin-top: 0;
}
main .news ul li span:nth-child(1), main .main #index ul li span:nth-child(1), main .single-text #index ul li span:nth-child(1) {
  font-size: 75%;
}
main .news ul li a:hover, main .main #index ul li a:hover, main .single-text #index ul li a:hover {
  color: #2a344a;
}
main .news p a, main .main #index p a, main .single-text #index p a {
  font-size: 13px;
  color: var(--wp--preset--color--cyan-bluish-gray);
}
main .news p a:after, main .main #index p a:after, main .single-text #index p a:after {
  content: ">";
  margin: 5px 0 0 5px;
}
main + .contact {
  border-top: 1px solid rgb(196, 196, 198);
  padding: 5em 1em 6em;
}

/* formcss */
.wpcf7-form .wpcf7-list-item {
  margin: 0 10px 10px 0 !important;
}
.wpcf7-form h4 {
  margin-bottom: 20px;
  text-align: center;
}
.wpcf7-form dl.form-item {
  display: flex;
  padding: 30px 0;
  border-bottom: 1px dotted #bbb;
  width: 80%;
  margin: 0 auto;
  gap: 2em;
}
.wpcf7-form dl.form-item dt {
  min-width: 250px;
  position: relative;
  padding: 8px 0 0;
  flex: 1;
}
.wpcf7-form dl.form-item + h4 {
  margin-top: 2em;
}
.wpcf7-form h4 + dl.form-item {
  border-top: 1px dotted #bbb;
}
.wpcf7-form .mandatory::after {
  content: "必須";
  top: 8px;
  right: 0;
  color: #e78;
  position: absolute;
}
.wpcf7-form dd {
  padding: 8px 0 0 10px;
  flex: 2;
}
.wpcf7-form dd .radio-662 {
  margin: 10px 0 0;
  position: absolute;
}
.wpcf7-form input[type=text], .wpcf7-form input[type=tel], .wpcf7-form input[type=email] {
  margin: 0;
  padding: 0 0 0 10px;
  width: 100%;
  max-width: 500px;
  height: 36px;
  background-color: #fff;
  border: 1px solid #ddd;
  color: #222;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  box-sizing: border-box;
  display: block;
  position: relative;
}
.wpcf7-form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0 0 0 10px;
  width: 260px;
  height: 36px;
  background-color: #fff;
  border: 1px solid #ddd;
  color: #222;
  vertical-align: middle;
  background-image: url(../img/arrow.png);
  background-repeat: no-repeat;
  background-size: 34px auto;
  background-position: right 0 top 50%;
}
.wpcf7-form textarea {
  margin: 0;
  padding: 0 0 0 10px;
  width: 100%;
  max-width: 500px;
  height: 150px;
  background-color: #fff;
  border: 1px solid #ddd;
  color: #222;
  box-sizing: border-box;
}
.wpcf7-form .contact-agree-btn {
  margin-bottom: 50px;
  padding: 30px 0;
  border-bottom: 1px dotted #bbb;
}
.wpcf7-form .contact-agree-btn p {
  margin: 0 0 20px;
  text-align: center;
}
.wpcf7-form .contact-agree-btn p a {
  color: #2a344a;
}
.wpcf7-form .contact-agree-btn p a:hover {
  color: #abb8c3;
}
.wpcf7-form .contact-agree-btn .acceptance-254 {
  margin: 0 auto;
  width: 300px;
  height: 50px;
  text-align: center;
  background-color: #eee;
  cursor: pointer;
  display: block;
  box-sizing: border-box;
  border-radius: 25px;
  position: relative;
  transition: 0.5s;
  line-height: 49px;
}
.wpcf7-form .contact-agree-btn .acceptance-254:hover {
  background: #2a344a;
}
.wpcf7-form .contact-agree-btn .acceptance-254:hover span {
  color: #fff;
}
.wpcf7-form #decision input {
  margin: 0 auto;
  width: 300px;
  height: 50px;
  font-size: 16px;
  line-height: 48px;
  color: #fff;
  font-weight: 500;
  text-align: center;
  border-radius: 25px;
  box-shadow: 0px 3px 3px 0px rgba(51, 51, 51, 0.35);
  display: block;
  border: none;
  background: #2a344a;
  transition: 0.5s;
}
.wpcf7-form #decision input:hover {
  background: #4a402a;
}

div.wpcf7cp-btns {
  text-align: center;
}
div.wpcf7cp-btns button {
  width: 300px;
  height: 50px;
  font-size: 16px;
  line-height: 48px;
  color: #fff;
  font-weight: 500;
  text-align: center;
  border-radius: 25px;
  box-shadow: 0px 3px 3px 0px rgba(51, 51, 51, 0.35);
  border: none;
  background: #2a344a;
}
div.wpcf7cp-btns button.wpcf7cp-cfm-edit-btn {
  background: #abb8c3;
  color: #000;
}

.contact-box {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 2em;
}
.contact-box > * {
  flex: 1;
  text-align: center;
}
.contact-box .home-mail-btn dl dd, .contact-box .home-line-btn dl dd, .contact-box .home-tel dl dd {
  padding: 0.5em 0;
  margin-top: 1em;
  background: var(--wp--preset--color--white);
}
.contact-box .home-mail-btn dl dd > a:after, .contact-box .home-line-btn dl dd > a:after, .contact-box .home-tel dl dd > a:after {
  margin: 0 0 0 10px;
  font-size: 13px;
}
.contact-box .home-mail-btn dl dd a:hover, .contact-box .home-line-btn dl dd a:hover, .contact-box .home-tel dl dd a:hover {
  color: #2a344a;
}
.contact-box .home-tel dd:before {
  font-family: "Fontawesome";
  content: "\f098";
  position: relative;
  left: -5px;
  top: -0.5px;
}
.contact-box .home-tel dd > a:after {
  content: initial !important;
}
.contact-box .home-tel dd span {
  font-size: 75%;
}
.contact-box .home-line-btn dt {
  color: #06c755;
}
.contact-box .home-line-btn dd {
  border-color: #06c755 !important;
}

footer {
  padding: 5em 1em 1em 1em;
  background: #f0f2f5;
  font-size: 75%;
}
footer #footerwidget {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 3em;
}
footer #footerwidget > * {
  flex: 1;
  width: 100%;
}
footer #footerwidget .footer-widget .sub-menu li {
  padding: 0 0 0 1em;
}
footer .copyright {
  text-align: center;
  font-size: 10px;
  margin: 15px 0 0;
}

/* オリジナルcss */
form {
  max-width: 600px;
  margin: 0.5em auto;
  display: flex;
  gap: 0.5em;
  font-family: sans-serif;
}
form select, form input[type=text] {
  padding: 0.4em 0.6em;
  font-size: 0.9em;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}
form select {
  width: 30%;
}
form input[type=text] {
  flex: 1;
}
form button[type=submit] {
  padding: 0.45em 1em;
  font-size: 0.9em;
  color: #fff;
  background-color: #007BFF;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.3s;
}
form button[type=submit]:hover {
  background-color: #0056b3;
}

img.responsive-thumbnail {
  max-width: 44%;
}

.post-list {
  gap: 1em;
}
.post-list li {
  padding: 1em;
  width: calc(25% - 1vw);
  border: 1px solid #ebebeb;
  border-radius: 0.3em;
  transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.post-list li:hover {
  box-shadow: 0 0.625rem 0.875rem -0.3125rem #e0e0e0;
}
.post-list li a {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.post-list li a p.text {
  text-align: justify;
}

/* 投稿ページ */
.single-post .main .single-text {
  padding: 1em;
}
.single-post .main .single-text > h2 {
  background-color: #2a344a;
  color: var(--wp--preset--color--white);
  width: auto;
  padding: 0.5em 0;
}
.single-post .main .single-text .cp_embed_wrapper {
  margin: 2em 0;
}
.single-post .main .single-text .wp-block-code {
  padding: 2em;
  background: var(--wp--preset--color--cyan-bluish-gray);
  margin: 1.5em 0;
}
.single-post .main .single-text .wp-block-code code {
  color: var(--wp--preset--color--white);
}
.single-post .main .single-text dl {
  display: flex;
  padding: 1em 0.5em;
  border-bottom: 1px solid var(--wp--preset--color--cyan-bluish-gray);
}
.single-post .main .single-text dl dt {
  flex: 0.5;
  font-weight: 600;
}
.single-post .main .single-text dl dd {
  flex: 2;
}

.page .main .loop_title, .page .main .loop_contents {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  border-bottom: 1px solid #dedede;
  gap: 0.5em;
}
.page .main .loop_title *, .page .main .loop_contents * {
  padding: 0.5em 0.3em;
}
.page .main .loop_title dt, .page .main .loop_contents dt {
  flex: 0.8;
}
.page .main .loop_title dd, .page .main .loop_contents dd {
  flex: 1;
}
.page .main .loop_contents {
  border-bottom: none;
  font-weight: normal;
}/*# sourceMappingURL=base.css.map */