div#curtain {
    position: fixed;
    pointer-events: none;
    z-index: 99999;
    background: #fff;
    width: 100svw;
    height: 100svh;
    top: 0;
    left: 0;
    animation-name: curtain-back;
    animation-duration: 1.5s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: both;
}
@keyframes curtain-back{
	90% {
	opacity: 1;
	}

	100% {
	opacity: 0;
	}
}

div#curtain_inner {
    pointer-events: none;
    position: fixed;
    z-index: 99999;
    width: 100svw;
    height: 100svh;
    top: 0;
    left: 0;
	background: #9ACD55;
	animation-name: curtain-anima;
	animation-duration: 2.2s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: both;
}

@keyframes curtain-anima{
	00% {
	transform: translateY(-100%);
	}
	30% {
	transform: translateY(0%);
	}
	80% {
	transform: translateY(0%);
	}
  	99% {
    opacity:1;
	}
	100% {
	transform: translateY(100%);
    opacity:0;
	}
}

div#loading-logo {
    pointer-events: none;
    position: fixed;
    z-index: 99999;
    width: 100svw;
    height: 100svh;
    top: 0;
    left: 0;
  display:grid;
  animation-name: logo-anima;
  animation-duration: 2.2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
  transform-origin: center center;
  align-items: center;
  justify-content: center;
}
@keyframes logo-anima{
  	0% {
	opacity: 0;
	}
	10% {
	transform: translateY(50%);
	}
    20% {
	opacity: 0;
	}
	40% {
	opacity: 1;
	transform: translateY(0);
	}
	60% {
	opacity: 1;
	scale:1;
	}
	100% {
	opacity: 0;
	scale:2;
	}
}

:root {
    --round:2rem;
    --main-color:#88c437;
    --sub-color:#edf6e1;
    --footer-bg-color:#fff;
    --footer-link-color:#333;
    --round-s:1rem;
}
.btn-link {
    --t4-btn-color:#88c437;
     --t4-btn-hover-color:#5c8b1d;
    --t4-btn-active-color:#5c8b1d;
}

/* General */
a:not(.btn):hover {
	text-decoration: underline;
}
a:hover img {
	opacity: 0.8;
 -webk it-opacity: 0.8;
	-moz-opacity: 0.8;
	filter: alpha(opacity=80);
	/* IE lt 8 */
	-ms-filter: “alpha(opacity=80)”;/* IE 8 */
}
a img {
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	-ms-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out;
}
/* Table */
.table>:not(caption)>*>* {
    box-shadow: none;
}


/* Header */
div#t4-header {
    background: unset;
}
/* Masthead（ページヘッダー） */
div#t4-masthead {
    background: #eee;
}
div#t4-masthead .t4-masthead-detail {
    display: flex;
    align-items: flex-start;
}
div#t4-masthead .t4-masthead-detail {
    max-width:var(--container-width);
    margin-inline: auto;
}
.t4-masthead .t4-masthead-title {
    padding-inline: 0;
    font-weight: 800 !important;
  font-size: 2rem;
}
.t4-masthead .t4-masthead-description {
    padding-inline: 0;
      font-weight: 400;
}


/* Mailform */
form:not(.form-no-margin) .control-group {
    border-bottom: solid 1px #ddd;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    display: flex;
  align-items: center;
    flex-direction: row;
}
form:not(.form-no-margin) .control-group .control-label {
    float: unset;
    width: 30%;
    padding: 0 1rem;
}
form:not(.form-no-margin) .control-group .controls {
    margin-left: 0;
    padding: 0 1rem;
    width: 70%;
}
strong.formRequired {
	color: #fff;
	font-weight: normal!important;
	font-size: 0.875rem;
	background-color: #ff002a;
	padding: 3px 8px;
	border-radius: 3px;
	margin-left: 15px;
}
input.rsform-input-box,
.input-append input[type=text],
textarea.rsform-text-box,
select{
  width: 100%;
  padding: 0.75em 1em;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  font-size: 1rem;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
input:not([type="radio"]):focus, textarea:focus, select:focus,select:focus,select:focus-visible {
  /* outline: none; */
  /* border-color: #007bff; */
  /* box-shadow: 0 0 0 2px rgba(0,123,255,0.25); */
}
select{
    cursor: pointer;
}
/* 日付／時刻ピッカー */
.input-append {
    display: flex;
    flex-direction: row;
}
.input-append input[type=text] {
    max-width: 12rem;
  line-height: unset;
  height: unset;
    border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-append .btn {
  height: unset;
  line-height: unset;
  padding: 0.75em 1em;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
/* チェックボックス・ラジオ共通 */
.formControls label.checkbox,
.formControls label.radio {
  display: flex;
  gap: 0.2em;
  padding: 0.5em;
  transition: 0.3s;
  cursor: pointer;
  border-radius: 5px;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
}
.formControls.controls[role="group"] {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}
label.checkbox:not(.inline),
label.radio:not(.inline){
    width: 100%;
}

.formControls input[type="checkbox"],
.formControls input[type="radio"] {
  accent-color: var(--color-primary, #0d6efd);
  width: 1.1em;
  height: 1.1em;
}
label.checkbox,label.radio{
	position: relative;
}
label.checkbox::before,label.radio::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-primary, #0d6efd);
  opacity: 0.0;
  z-index: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
  border-radius: 5px;
}
.custom-label > * {
  position: relative;
  z-index: 1;
}
label.checkbox:hover::before,
label.radio:hover::before {
  opacity: 0.1; 
}
label.checkbox:has(input:checked)::before,
label.radio:has(input:checked)::before {
  opacity: 0.1; 
}

/* 送信ボタン */

form:not(.form-no-margin) .control-group.rsform-type-submitbutton {
    border-bottom: 0;
}
.control-group.rsform-type-submitbutton label.control-label.formControlLabel {
    display: none;
}
.control-group.rsform-type-submitbutton .formControls.controls {
    width: 100%;
    display: flex;
    justify-content: center;
}
.control-group.rsform-type-submitbutton button#submit {
    font-size: 1.2rem;
    min-width: 200px;
    line-height: 2;
}


/* Blog Archive page */
.blog-archive div#t4-masthead {
    margin-bottom: 3rem;
}
.blog-archive .blog-item {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.5rem;
    border-bottom: solid 1px #ddd;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
}
.blog-archive .blog-item figure.item-image {
    flex-basis: 300px;
    min-width: 300px;
    margin: 0;
}
.blog-archive .blog-item .item-content {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
}
.blog-archive .blog-item .item-content .page-header {
    margin-bottom: 1rem;
}
.blog-archive .article-info { /* 日付・著者・カテゴリ など */
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 1em;
      width: 100%;
}
.blog-archive .article-info dd:after {
    content: none;
}
.blog-archive .article-info dd.category-name {
    font-size: 0;
}
.blog-archive .article-info dd.category-name a {
    font-size: .875rem;
    background: #eee;
    color: #333;
    padding: 2px 10px;
    transition:.3s;
}
.blog-archive .article-info dd.category-name a:hover {
    background: #ddd;
    text-decoration:none !important;
}
.blog-archive .blog-item .com-content-category-blog__items__contents { /* 記事本文（追加したClass） */
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    min-height: calc(1rem * 4 * var(--body-line-height) );
}
.blog-archive .blog-item .com-content-category-blog__items__contents * {
    all: unset;
}
.blog-archive .blog-item .com-content-category-blog__items__contents br {
    display: none !important;
}









/* ここからした、消すかも */
/*ニュースフラッシュ　whole-link*/
.whole-link{
        display: block;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
}
.whole-link:hover{
background-color: #fff;
opacity: 0.4;
}
.mod-articlesnews-horizontal.newsflash-horiz.mod-list li {
  position: relative;
}
.newsflash-item {
  position: relative;
}

/**************************************
見出し
*************************************/
.heading01 {
	text-align: center;
	position: relative;
	padding: 0;
	margin: 0 0 .8em 0;
	font-size: 2.5rem!important;
	color: #374048;
}
.heading02 {
	position: relative;
	padding: 0;
	margin: 20px 0;
	color: #374048;
	font-size: 1.8rem !important;
	line-height: 1.6em;
}
.heading03 {
	position: relative;
	padding: 0 0 0 50px;
	margin: 1.5rem 0 1.5rem;
	color: #374048;
	font-size: 1.5rem !important;
    font-weight:700!important;
}
.heading03::before {
	content: "";
	display: inline-block;
	width: 35px;
	height: 2px;
	top: 18px;
	position: absolute;
	background-color: var(--main-color);
	left: 0;
}
.heading03a {
	position: relative;
	padding: 0 0 0 80px;
	margin: 1.5rem 0 2rem;
	color: #374048;
	font-size: 2.2rem !important;
}
.heading03a::before {
	content: "";
	display: inline-block;
	width: 60px;
	height: 2px;
	top: 26px;
	position: absolute;
	background-color: var(--main-color);
	left: 0;
}

.heading04 {
	color: #374048;
	font-size: 24px;
	margin: 20px 0;
	padding: 0 0 0 40px;
	position: relative;
}
.heading04::before {
	content: "";
	display: inline-block;
	width: 25px;
	height: 25px;
	background-color: var(--main-color);
	position: absolute;
	left: 0;
	top: 3px;
}
.heading05 {
	position: relative;
	font-size: 1.8rem !important;
	padding: 0 0 20px 0;
	margin: 0 0 20px 0;
	color: #374048;
}
.heading05:after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 8px;
	content: '';
	background-image: -webkit-repeating-linear-gradient(135deg, #2E363D, #2E363D 1px, transparent 2px, transparent 5px);
	background-image: repeating-linear-gradient(-45deg, #2E363D, #2E363D 1px, transparent 2px, transparent 5px);
	background-size: 7px 7px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}




/*system-readmore「続きを読む」*/
#tinymce hr#system-readmore {
  background-color: #f473ab;
  border: medium none;
  height: 22px;
  text-align: center;
}
#tinymce hr#system-readmore::before {
  color: #fff;
  content: "▼続きを読む▼";
}

.inner {
	width: 1280px;
	margin: 0 auto;
}

.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm,
.container,
.t4-masthead
.t4-masthead-detail {
	width: 100%;
	max-width: 100%;
  padding: 0 15px;
	box-sizing: border-box;
	/* overflow: hidden; */
}
.container {
	width: 100%;
	max-width: var(--container-width);
	box-sizing: border-box;
	/* overflow: hidden; */
}

.navbar-brand.logo-control img.logo-img {
	max-height: 70px;
}

-offcanvas-toggle i {
	display: none;
}
.t4-section.sec-spacing-lg .t4-section-inner {
	padding: 0;
	margin: 0;
}



}
.t4-footer .container,
.t4-footer .t4-masthead .t4-masthead-detail,
.t4-masthead .t4-footer .t4-masthead-detail {
	padding: 0;
	margin: 0 auto;
	background-color: #fff;
	border: medium none;
}
.t4-footer {
    border-top:none;
}
.col-md-10 {
	width: 100%;
}


#back-to-top {
	z-index: 98;
}
.com-content-category-blog__item.blog-item {
    max-width: 100vw;
}




/*グローバルメニュー　子メニューを表示*/
.header-block.header-block-2 .container-xxl {
  overflow: initial;
}

/*グローバルメニュー調整*/
.t4-megamenu .navbar-nav > li > a, .t4-megamenu .navbar-nav > li > .nav-link {
  /* font-size: 14px;
  padding: 20px 10px; */
}
/*「/html/mod_custom/h1-title.php」「/html/mod_custom/h1-title-sitename.php」利用時のヘッダー部分CSS*/
/* #h1title {
  font-size: 14px;
  font-weight: normal;
  margin: 0;
} */

.t4-navbar {
    margin-right:unset!important;
}
.navbar-nav {
    justify-content:flex-end;
}

/*swiper*/
.swiper {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.swiper-slide span {
  position: absolute;
  top: 50px;
  left: 100px;
  color: #fff;
  font-size: 32px;
}

/*トップページお知らせ*/
.news-box {
  border: 1px solid #CCCCCC;
  max-height: 300px;
  overflow: auto;
  padding: 7px;
}
.news-box table {
  width: 100%;
}
.news-box table th {
  border-bottom: 1px dotted #ccc;
  font-weight: normal;
  padding: 5px;
  text-align: left;
  vertical-align: top;
}
.news-box table td {
  border-bottom: 1px dotted #ccc;
  padding: 5px;
  vertical-align: top;
}
.news-box table th::before, .news-box ul li::before {
  color: #999;
  content: "\f0da";
  font-family: FontAwesome;
  margin-right: 5px;
}


.news-box ul li {
  border-bottom: 1px dotted #cccccc;
  color: #333333;
  font-size: 1em;
  list-style: none outside none;
  margin: 0 0 5px;
  padding: 0 0 5px 10px;
}
.news-box .category-module li a {
  display: inline-block;
}

.kiji-box01 td:nth-child(1) {
  width: 60%;
}
.kiji-box02 td:nth-child(1) {
  width: 40%;
}
.kiji-box01 td,.kiji-box02 td {
  vertical-align: top;
}

/*Youtubeの埋め込み*/
.yt iframe {
    display: block;
    margin: auto;
}
.yt  {
text-align: center;
}
/*プロファイルの編集非表示*/
#post .profile {display: none;}

/*モジュール　記事カテゴリー*/
.category-module li a::before {
  display: none;
}
.category-module li a {
  padding-left: 0;
}

/*スクロールヒントの調整*/
.scroll-hint-text {
  line-height: initial;
}

/*latestnews-item調整*/
.latestnews-item {
  position: relative; 
}
/*未公開記事　背景グレー*/
.item.system-unpublished {
  background-color: #ddd;
}


/******custom**************************/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho+B1&display=swap');
.shippori {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-style: normal;
}

h1,h2,h3,h4,h5 {
  font-family: "Shippori Mincho B1", serif !important;
  font-weight: 500!important;
  font-style: normal;
  line-height:1.5!important;
  margin-bottom:.8em;
}

body,p,li,th,td,div {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  line-height:1.7;
}

body {
    overflow-x:hidden;
}
a {
    transition:.5s;
}

/*ヘッダー*/

div.topbar {
    background: none;
}
div.topbar h1#h1title {
    text-indent: -9999px;
    position: absolute;
}

.t4-main-body {
    padding-top:0;
}

.t4-header {
    position:fixed;
    top:15px;
    left:15px;
    width:calc(100% - 30px);
    z-index:100;
    border-bottom:none;
    background:rgba(255,255,255,.9)!important;
    border-radius:1rem;
    box-shadow:0 0 8px rgba(0,0,0,.1);
}

.t4-masthead-inner {
    padding:11rem 0 4rem;
}
.t4-header .container {
    max-width:100%;
}
.navbar-brand {
    width:25%;
}
.header-ctaarea a {
    border-left:1px solid #ccc!important;
    color:#5c8b1d;
}
.header-ctaarea a:hover {
    color:#88c437;
}
a.btn+a.btn {
    margin-inline-start:0;
}

.border-top {
    border-top:1px solid var(--main-color)!important;
}
.border-bottom {
    border-bottom:1px solid var(--main-color)!important;
}


/*フォントサイズ*/
.fs-small {
    font-size:.9rem;
}

/*見出し*/
.mds-en-jp-row {
    font-size:3.75rem;
    display:flex;
    align-items:end;
    gap:1rem;
    line-height:1!important;
}
.mds-en-jp-row span {
    display:inline-block;
    font-size:1.25rem;
    font-weight:500;
}

.mds-en-jp-column {
    font-size:3.75rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:1.3rem;
    line-height:1!important;
}
.mds-en-jp-column span {
    font-size:1.25rem;
    font-weight:500;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:1.3rem;
}
.mds-en-jp-column span:before {
    content:"";
    width:50px;
    height:1px;
    background-color:#fff;
}

.mds-underbar {
    font-size:2.2rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:1.3rem;
    margin-bottom:1em;
    text-align:center;
}
.mds-underbar:after {
    content:"";
    width:50px;
    height:2px;
    background-color:var(--main-color);
}

.text-underline {
    border-bottom:1px solid var(--main-color);
    padding-block:.5em;
}

/*テーブル*/
.table {
    --t4-table-border-color:#ccc;
}
.table th,
.table td {
    padding:1.5rem;
}
/* .table th:first-child {
    width:30%;
} */
.table th {
    background:#f2f2f2;
  vertical-align: middle;
}
.table td ul {
    padding-left:2rem;
}
/*.table tr:last-child {
    border-color:transparent;
}*/

/*テーブル 4カラム*/
.table-column4 th {
    width:40%!important;
}
.table-column4 td {
    width:10%;
    text-align:center;
}
.table-column4 th,
.table-column4 td {
    padding:1rem;
}

/*テーブル */
.table-s th,
.table-s td {
    padding:1rem;
}
.table-s th {
    width:unset!important;
    vertical-align:middle;
}

.table-price strong {
    font-size:1.2rem;
}


/*ボタン*/
.linkbtn {
    border-radius:100px;
    min-width:300px;
    padding:1.3rem 3rem 1.3rem 2rem;
    text-align:left;
    position:relative;
}
.linkbtn:after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
      rotate: -45deg;
  transition:.3s;
}
.linkbtn:hover:after {
    transform: translateY(-50%) translateX(5px);
}
.linkbtn2 {
    border-radius:100px;
    min-width:100%;
    padding:1.3rem 2rem;
    text-align:center;
}
.linkbtn2:hover {
    opacity:.8;
    color:var(--footer-link-color)!important;
}

.linkbtn-s {
    border-radius:100px;
    padding:.5rem 2.5rem .5rem 1.5rem;
    text-align:left;
    position:relative;
}
.linkbtn-s:after {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
}

/*文字装飾*/
.afterbar {
    display:flex;
    align-items:center;
    gap:1rem;
    white-space:nowrap;
    font-weight:700;
}
.afterbar:after {
    content:"";
    flex-grow:1;
    background:#fff;
    width:100%;
    height:1px;
}
.afterbar.text-primary:after {
    background:var(--main-color);
}

/*左右要素広げる*/
.column-out {
  margin:0 calc(50% - 50vw);
}

/*右側へ要素を広げる*/
.column-out-right{
    margin-right: calc(50% - 50vw);
}

/*左側へ要素を広げる*/
.column-out-left{
    margin-left: calc(50% - 50vw);
}
/*画像比率*/
.aspect-ratio-1 {
    aspect-ratio:1;
    width:100%;
    object-fit:cover;
}
.aspect-ratio-4x3 {
    aspect-ratio:4/3;
    width:100%;
    object-fit:cover;
}
.aspect-ratio-5x3 {
    aspect-ratio:5/3;
    width:100%;
    object-fit:cover;
}

/*角丸*/
.round {
    border-radius:var(--round);
}
.round-s {
    border-radius:var(--round-s);
}
.round-right {
    border-radius:0 var(--round) var(--round) 0;
}
.round-left {
    border-radius:var(--round) 0 0 var(--round);
}

/*左右重ね記事*/
.fltimg {
    flex:unset;
    width:40%;
    z-index:10;
}
.fltimg img {
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
}
.flttxt {
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%)!important;
    background:var(--sub-color);
    flex:unset;
    width:80%;
    padding:3rem 4rem 3rem 20%;
    border-radius:var(--round);
}

/*トップページイラスト配置*/
.illust01 {
    position:absolute;
    left:-30px;
    bottom:-30px;
    z-index:10;
}
.illust02 {
    position:absolute;
    right:-100px;
    bottom:-100px;
    z-index:10;
}
.illust03 {
    position:absolute;
    left:-50px;
    top:30%;
    z-index:10;
}
.illust04 {
    position:absolute;
    right:-50px;
    top:-50px;
    z-index:10;
}
.illust05 {
    position:absolute;
    right:15px;
    top:-50px;
    z-index:8;
}

/*メインティーザー*/
.mainteaser {   
}
.mainteaser img {
    width:100%;
    height:100vh;
    object-fit:cover;
}
.carousel-caption {
    background:linear-gradient( -149deg, rgb(164,239,64,.9) 0%, rgb(104,164,24,.9) 100%);
    padding:3rem;
    border-radius:32px 0 32px 32px;
    left:auto;
    right:5%;
    bottom:10%;
    text-align:left;
}

/*カード*/
.card {
    border:none;
    border-radius:2rem;
    overflow:hidden;
    position:relative;
}
.card-link a:after {
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0);
    transition:.5s;
    border:5px solid transparent;
    border-radius:2rem;
}
.card-link a:hover:after {
    border:5px solid var(--main-color);
}
.card-body {
    padding:1rem 1.5rem 1.5rem;
}

.card-link a {
    color:#333;
    text-decoration:none!important;
}

/*イラスト配置*/
.img-position1 {
    position:absolute;
    left:-50px;
    top:30%;
}
.img-position2 {
    position:absolute;
    right:-15px;
    top:-30px;
}
.img-position3 {
    position:absolute;
    right:15px;
    top:0;
    z-index:100;
}
.img-position4 {
    position:absolute;
    left:20%;
    bottom:0;
    z-index:100;
}

/*色付き背景*/
.bg-green {
    background:var(--sub-color);
}
.bg-mainc {
    background:var(--main-color);
}

/*CTA背景*/
.bg-cta {
    background:url(https://doteuchi.or.jp/images/bg-cta.jpg)no-repeat center/cover;
}
/*FOOTER*/
.ft-content {
    background:#333;
}

/*テキストスクロール*/
.scroll-section {
  display: flex;
  white-space: nowrap;
  max-width:100%;
}
.scroll-text {
  display: inline-block;
  padding-right: 0.5em;
  animation: marquee 30s linear infinite;
  font-size:8rem;
  color:var(--sub-color);
  line-height:.5;
  margin:0;
  padding:0;
}

@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/*FOOTER*/
.t4-footer .t4-section-inner.container {
    padding-block:0!important;
}
p.copyright {
    font-size:.8rem;
}

/*グリッドレイアウト*/
/*.gridwrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 40px 30px;
  justify-content: flex-start;
}*/
.gridwrap {
    display:flex;
    flex-wrap:wrap;
    gap:2rem;
}
.gridwrap > div {
    width:calc((100% / 3) - 1.5rem);
}
.gridwrap > div img {
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    border-radius:var(--round);
    object-fit:cover;
    margin-bottom:1rem;
}


/*会計・税務サポート*/
.service-fv{
    min-height: 600px;
    display: grid;
    align-items: center;
  padding-top:120px;
}
.bg-kaikei {
    background:url(https://doteuchi.or.jp/images/kaikei/869064235.jpg)no-repeat bottom/cover;
}
.taglist {
    gap:1rem;
    justify-content:start;
    padding-left:0;
    list-style:none;
    display:flex;
}
.taglist li {
    background:#fff;
    border-radius:100px;
    padding:.5rem 1.5rem;
}

/*フローリスト*/
.flowlist li {
    border-bottom:none;
}
.flowlist li span {
    display:inline-block;
    font-weight:700;
    color:var(--main-color);
    width:12rem;
}
.flowlist li:not(:last-child):after {
    display:block;
    content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color:var(--main-color);
  padding-left:3rem;
}

/*ステップリスト*/
.steplist li {
    border:1px solid #ccc!important;
    padding:1rem 1.5rem;
    border-radius:.5rem!important;
    margin-bottom:3rem;
    position:relative;
}
.steplist li:not(:last-child):after {
    position:absolute;
    bottom:-2.8rem;
    content: "\f107";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color:var(--main-color);
  text-align:center;
  line-height:1;
  left:50%;
  transform:translateX(-50%);
  font-size:2.5rem;
}
.steplist li div span {
    font-size:1rem;
}
/*FAQリスト*/
.faqlist li {
    border-bottom:none;
}
.faqlist h3 {
    font-size:1.5rem;
}
.faqlist h3:before {
    content:"Q.";
    color:var(--main-color);
    margin-right:.5rem;
}
div.answer {
    background:var(--sub-color);
    padding:1.5rem;
    border-radius:1rem;
}

/*リスト装飾*/
ul.custom-list li {
    border-bottom:none;
    text-align:left;
}
ul.custom-list li:before {
    content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color:var(--main-color);
    margin-right:.8rem;
}
li.list-group-item {
    background:transparent;
}

dt {
  float: left;
  font-weight:400;
  opacity:0.7;
}
dd {
 margin-left: 120px;
  margin-bottom: 1rem;
}


/*番号リスト*/
ol.list-group-numbered {

}
ol.list-group-numbered:not(.steplist) li {
    border-bottom:none;
    text-align:left;    
}

/*PDFリンクリスト*/
.link-pdf a:before {
    content: "\f1c1";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color:var(--main-color);
    margin-right:.8rem;
}
.link-pdf a {
    padding:1rem 1.5rem;
    text-decoration:none!important;
}
.link-pdf a:hover {
    background:var(--sub-color);
}

/* 相続・遺言サポート */
.bg-yuigon {
    background:url(https://doteuchi.or.jp/images/yuigon/187696457.jpg)no-repeat bottom/cover;

}

/**お問い合わせフォーム**/
.formControls.controls[role="group"] {
    gap:0;
}
.alert {
    padding:1.5rem;
    /* border-radius:1rem; */
}

/*最新情報*/
.sidebar-r .t4-module {
  background:var(--sub-color);
  padding:1.5rem;
  border-radius:var(--round-s);
}
.sidebar-r .module-title span {
    width:100%;
}
.blog-archive .blog-item figure.item-image img {
    border-radius:calc( var(--round) / 2);
}
.article-body {
    padding-top:1.5rem;
    padding-bottom:3rem;
}

.pagenavigation {
    display:none;
}

/* サービス　下部バナーボタン */
h3.bnr-heading {
    font-size: 20px;
    text-align: left;
    margin-inline: auto;
    width: fit-content;
}
h3.bnr-heading i {
    font-size: 1.4rem;
  margin-right:0.5em;
}


/*トップ　topics*/
ul.mod-articlescategory.category-module.mod-list span.mod-articles-category-category a {
    border-radius:100px;
    color:#333;
}

/*グローバルナビ*/
.t4-megamenu .navbar-nav>li>a, .t4-megamenu .navbar-nav>li>.nav-link {
    height:unset;
    padding:.3rem 1rem;
}


.callout {}

.callout-info {}
.callout-danger {}

.alert-danger .alert-heading {
    margin-top:0;
    margin-bottom:0.5em;
    font-size:1.2rem;
}
.alert-heading {
    font-family: "Noto Sans JP", sans-serif!important;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight:700!important;
}