@charset "utf-8";
/* CSS Document */
/*
Theme Name:AMATERASU
Description:Easy,SimpleDesign
Version:simple 1.1
Base Color:red
Author:AMATERASU
Author URI:http://www.seo-amaterasu.com/
*/
@media screen and (min-width:769px){
.sp{
  display:none !important;
}
/* ヘッダー エリア */
#header_in .inner_left{
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  position: absolute;
  left: 0;
}
#header_in .inner_left img{
  width:auto;
  height:auto;
  margin:0;
  padding:0;
}
#header_in .inner_right{
  width:210px;
  height:auto;
  margin:0;
  padding:0;
}
#header_in .inner_right ul{
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  justify-content:flex-end;
  align-content:center;
  align-items:center;
}
#header_in .inner_right ul li{
  width:auto;
  height:auto;
  margin:0;
  padding:0;
}
.fixheader.is-fixed #header_in .inner_right ul li:nth-child(2){
    background:#2c2c2b;
}
#header_in .inner_right ul li a{
  font-family:"Noto Sans JP","メイリオ","Hiragino Kaku Gothic Pro W3","ヒラギノ角ゴ Pro W3","Osaka";
  font-size:38px;
  font-weight:bold;
  text-align:right;
  line-height:1.3em;
  letter-spacing:0.04em;
  color:#000000;
  text-decoration:none;
  display:block;
}
#header_in .inner_right ul li a:hover{
  opacity:0.5;
}
#header_in .inner_right ul li:first-child p{
  font-size:16px;
  text-align:right;
  color:#000000;
}
#header_in .inner_right ul li:last-child p{
  font-size:13px;
  text-align:right;
  color:#000000;
}
#header_in .inner_right ul li img{
  margin-right:0;
}
/* グローバルナビ エリア */
#nav ul{
  width:auto;
  height:auto;
  list-style:none;
  text-align:center;
  table-layout:fixed;
  display:flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-around;
  align-items: center;
}


#nav ul li{
  border-left:none;
}

#nav ul li a{
  height:auto;
  font-size:16px;
  text-align:center;
  text-decoration:none; 
  padding:15px 0px;
  display:block;
  color:#666666;
}
#nav li a:hover{
  /* color:#ffffff; */
  opacity: 0.5;
}
/* パンくずリスト エリア */
#breadcrumb{
  margin:-10px 0 5px 0;
}
#breadcrumb div{
  font-size:12px;
  display:inline-block;
}
/* コンテンツ エリア */
#content h1{ 
  width:auto;
  font-size:20px;
  font-weight:bold;
  margin-bottom:10px;
  padding:8px 10px 6px 20px;
  clear:both;
  color:#666666;
  background-color:#f8f8f8;
  border-top:4px solid #cc0000;
  border-bottom:1px solid #cccccc;
  border-left:1px solid #cccccc;
  border-right:1px solid #cccccc;
}
#content h2{
  width:auto;
  font-size:18px;
  font-weight:bold;
  margin-top:24px;
  margin-bottom:10px;
  padding:10px 10px 8px 16px;
  clear:both;
  color:#fff;
  background-color:red;
  border-radius:5px;
}
#content h3{
  font-size:16px;
  padding:10px 10px 3px 20px;
  position:relative;
  margin-bottom:10px; 
  border-bottom:3px solid #cc0000;
}
#content h3:before{
  content:'';
  position:absolute;
  top:15%;
  left:5px;
  width:5px;
  background-color:red;
}
#content h4,
#content h5,
#content h6{ 
  width:auto;
  font-size:14px;
  font-weight:bold;
  margin-bottom:10px;
  padding:1px 10px 0px 20px;
  clear:both;
  color:#666666;
  background-color:#f8f8f8;
  border-top:4px solid #cc0000;
  border-bottom:1px solid #cccccc;
  border-left:1px solid #cccccc;
  border-right:1px solid #cccccc;
}
#content h1 a{ 
  font-size:20px;
  font-weight:bold;
  text-decoration:none; 
  color:#666666;
}
#content h2 a,
#content h3 a{ 
  font-size:16px;
  font-weight:bold;
  text-decoration:none; 
  color:#666666;
}
#content h4 a,
#content h5 a,
#content h6 a{ 
  width:auto;
  font-size:14px;
  font-weight:bold;
  text-decoration:none; 
  color:#666666;
}
#content h1 a:hover,
#content h2 a:hover,
#content h3 a:hover,
#content h4 a:hover,
#content h5 a:hover,
#content h6 a:hover{ 
  color:#cc0000;
}
#content .post{
  padding-bottom:20px;
}
.home #wrapper #content .post, 
.page-template-page-onecolumn #wrapper #content .post{
  padding-bottom:0;
}
#content .eye_catch img{
  margin:0 10px 20px 0;
  float:left;
}
/* 続きを読む エリア */
a.more-link{
  font-size:14px;
  text-align:right;
  margin-right:10px;
  display:block;
}
a.more-link:hover{
  text-decoration:underline;
}
a.more-link:link,
a.more-link:active,
a.more-link:visited,
a.more-link:hover{
  color:#dc143c;
}
/* ページトップ エリア */
p.pagetop{
  display:none;
  position:fixed;
  bottom:120px;
  right:55px;
}
p.pagetop a{
  display:block;
  width:50px;
  height:50px;
  font-size:24px;
  text-align:center;
  text-decoration:none;
  line-height:50px;
  color:#ffffff;
  background-color:#cccccc; /* [if lt IE 9] */
  background:-webkit-gradient(
  linear,
  left top,
  left bottom,
  color-stop(0, #eeeeee),
  color-stop(1, #999999)
);
  background:-o-linear-gradient(bottom, #eeeeee 0%, #999999 100%);
  background:-moz-linear-gradient(bottom, #eeeeee 0%, #999999 100%);
  background:-webkit-linear-gradient(bottom, #eeeeee 0%, #999999 100%);
  background:-ms-linear-gradient(bottom, #eeeeee 0%, #999999 100%);
  background:linear-gradient(to bottom, #eeeeee 0%, #999999 100%);
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  -ms-border-radius:5px;
  -o-border-radius:5px;
  border-radius:5px;
  border:1px solid #888888;
}
p.pagetop a:hover{
  opacity:0.7;
  color:#cc0000;
}
/* フッター エリア */
#footer_in .inner_right{
  width:45%;
  height:auto; 
  margin:0;
  padding:0;
}
#footer_in .inner_right img{
  width:100%;
  height:auto; 
  margin:0;
  padding:0;
}
#footer_in .inner_left{
  width:57%;
  height:auto;
  margin:0;
  max-width:640px;
  padding:0;
}
#footer_in .inner_left>p{
  color:#fff;
  font-size:14px;
  margin:12px 0 16px;
  text-align:center;
  max-width:400px;
}
#footer_in .inner_left #f_logo{
  width:400px;
  margin:0;
}
#footer_in .inner_left #f_logo a{
  display:block;
}
#footer_in .inner_left #f_logo a img{
  margin:0 auto;
}
#footer_in .inner_left ul{
  width:100%;
  height:auto;
  margin-left:0;
  padding:0;
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  align-content:center;
  justify-content:flex-start;
  align-items:center;
}
#footer_in .inner_left ul li{
  width:auto;
  height:auto;
  margin:0;
  padding-left:20px;
  background-image:url("images/arrow_foot_icon.png");
  background-position:center left;
  background-repeat:no-repeat;
  margin-right:21px;
  background-size:14px;
}
#footer_in .inner_left ul li a{
  font-size:14px;
  text-decoration:none;
  color:#fff;
  padding-bottom:5px;
  display:inline-block;
}
#footer_in .inner_left ul li a:hover{
  text-decoration:underline;
}
	
/* スライダー全体のコンテナ */
.slider-container {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;    /* 画面外にはみ出たバナーを隠す */
  padding-bottom: 40px; 	
}

/* 【新設】バナーを包む横長の一本の帯 */
.slider-wrapper {
  display: flex;
  width: 100%;
  height: 100%; 
  will-change: transform; /* ブラウザのアニメーション負荷を軽減（最適化） */
}

/* 各バナーアイテムの設定 */
.slider-item {
  flex: 0 0 100%;      /* 1枚の横幅を100%に固定 */
  width: 100%;
  height: 100%;
}

/* 画像自体のレスポンシブ対応 */
.slider-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: bottom;
}

.slider-dots {
  position: absolute;
  
  /* 【変更】画像の「上」ではなく、画像の下に作った余白（padding）の中に配置 */
  bottom: 12px;       
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 12px;
  z-index: 10;
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  
  /* 【変更】背景がサイトの地色（白等）になるため、通常時は少し濃いめのグレー等にする */
  background-color: #b0c4de; 
  
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

/* 現在表示されているバナーに対応するドットのスタイル */
.dot.active {
  /* 【変更】白背景に対して最も映える、鮮やかな青 */
  background-color: #0076ff; 
  transform: scale(1.2);
}
	
	
/* ウィジェット エリア */
#sidebar #widget-area{
  width:100%;
  height:auto;
  display:table;
}
#sidebar #widget-area .widget-container{
  width:100%;
  height:auto;
  float:left;
  clear:both;
}
#sidebar #widget-area .widget-container ul{
  width:100%;
  height:auto;
  margin-bottom:20px;
  padding-bottom:10px;
  float:left;
  clear:both;
  background-color:none;
}
#sidebar #widget-area .widget-container ul li{
  width:auto;
  height:auto;
  margin:0 5px;
  padding:4px 0 4px 25px;
  background-image:url("images/nav_icon.png");
  background-position:0 8px;
  background-repeat:no-repeat;
  border-bottom:1px dotted #444444;
}
#sidebar #widget-area .widget-container ul li a{
  width:auto;
  height:auto;
  display:block;
  font-size:14px;
  font-weight:bold;
  text-decoration:none; 
  color:#666666;
}
#sidebar #widget-area .widget-container ul li a:hover{
  color:#cc0000;
}
#sidebar #widget-area .widget-container form#searchform{
  width:100%;
  margin-bottom:20px;
  padding:10px 11px 0 11px;
  display:table;
  background-color:#f8f8f8;
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  -ms-border-radius:5px;
  -o-border-radius:5px;
  border-radius:5px;
  border:1px solid #eeeeee;
}
#sidebar #widget-area .widget-container form#searchform label.screen-reader-text{
  margin-top:-3px;
}
#sidebar #widget-area .widget-container form#searchform input[type=text]{
  width:100%;
  border:1px solid #cccccc;
}
#sidebar #widget-area .widget-container form#searchform input[type=submit]{
  width:auto;
  font-size:12px;
  margin:5px 0 10px 0;
  padding:0 15px;
  float:right;
  color:#333333;
  background-color:#f5f5f5;
  border:1px solid #cccccc;
}
#sidebar #widget-area .widget-container form#searchform input[type=submit]:hover{
  color:#cc0000;
}
#sidebar #widget-area .widget-container #calendar_wrap{
  width:auto;
  margin-bottom:20px;
  padding:0 15px 0 0;
  background-color:#f8f8f8;
  border:1px solid #eeeeee;
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  -ms-border-radius:5px;
  -o-border-radius:5px;
  border-radius:5px;
}
#sidebar #widget-area .widget-container #calendar_wrap table#wp-calendar{
  width:100%;
  margin-top:10px;
}
#sidebar #widget-area .widget-container #calendar_wrap table#wp-calendar th{
  font-weight:bold;
  text-align:right;
  color:#333333;
}
#sidebar #widget-area .widget-container #calendar_wrap table#wp-calendar td{
  text-align:right;
  color:#333333;
}
#sidebar #widget-area .widget-container #calendar_wrap table#wp-calendar td a{
  color:#dc143c;
}
#sidebar #widget-area .widget-container #calendar_wrap table#wp-calendar td a:hover{
  color:#999999;
}
#sidebar #widget-area .widget-container #calendar_wrap table#wp-calendar caption{
  font-size:14px;
  font-weight:bold;
  margin:0 0 10px 10px;
  color:#333333;
}
#sidebar #widget-area .widget-container h3{
  width:auto;
  font-size:16px;
  font-weight:bold;
  line-height:1;
  padding:8px 0 8px 15px;
  color:#666666;
  background-color:#f8f8f8;
  border-top:4px solid #cc0000;
  border-bottom:1px solid #cccccc;
  border-left:1px solid #cccccc;
  border-right:1px solid #cccccc;
}
#sidebar #widget-area .widget-container .tagcloud{
  margin-bottom:20px;
}
#sidebar #widget-area .widget-container .rss-widget-icon{
  margin:0 5px 20px -5px;
  float:left;
}
/* コメント エリア */
#comments{
  width:auto;
  height:auto;
  margin:20px 0 10px 0;
}
#respond h3 a{
  color:#ffffff;
}
#respond h3 a:hover{
  color:#dc143c;
}
#respond{
  width:auto;
  height:auto;
  margin-top:20px;
}
#respond a{
  font-weight:bold;
}
.commentlist{
  list-style-image:none;
  list-style-type:none;
}
.reply{
  margin-bottom :20px;
}
#commentform textarea{
  width:99%;
  height:auto;
  margin:10px 0;
  border:1px solid #cccccc;
}
#commentform input[type=text]{
  margin-bottom:5px;
  border:1px solid #cccccc;
}
#commentform input[type=submit]{
  margin-bottom:20px;
  padding:5px;
  color:#333333;
  background-color:#eeeeee; /* [if lt IE 9] */
  background:-webkit-gradient(
  linear,
  left top,
  left bottom,
  color-stop(0, #eeeeee),
  color-stop(1, #cccccc)
);
  background:-o-linear-gradient(bottom, #eeeeee 0%, #cccccc 100%);
  background:-moz-linear-gradient(bottom, #eeeeee 0%, #cccccc 100%);
  background:-webkit-linear-gradient(bottom, #eeeeee 0%, #cccccc 100%);
  background:-ms-linear-gradient(bottom, #eeeeee 0%, #cccccc 100%);
  background:linear-gradient(to bottom, #eeeeee 0%, #cccccc 100%);
  border:1px solid #bbbbbb;
}
p.nocomments{
  display:none;
}
/* 検索結果 エリア */
#content h4.not_found{
  font-size:24px;
  padding-left:25px;
  background-image:url("images/not_found.png") !important;
  background-position:0 0 !important;
  background-repeat:no-repeat !important;
  background:none;
  border:none;
}
#content p.not_found{
  font-size:14px;
  color:#dc143c;
}
#content dl.search_box{
  width:100%;
  height:auto;
  padding:15px;
  display:table;
  background-color:#f8f8f8;
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  -ms-border-radius:5px;
  -o-border-radius:5px;
  border-radius:5px;
  border:1px solid #eeeeee;
}
#content dl.search_box dt input[type=text]{
  width:70%;
  height:25px;
  float:left;
  border:1px solid #cccccc;
}
#content dl.search_box dd input[type=submit]{
  width:100px;
  height:auto;
  font-size:14px;
  text-align:center;
  padding:2px 0;
  float:right;
  color:#333333;
  background-color:#f5f5f5;
  border:1px solid #cccccc;
}
#content dl.search_box dd input[type=submit]:hover{
  color:#cc0000;
}
#content h4.search_result_title{
  font-size:24px;
  font-weight:bold;
  margin-bottom:10px;
  padding-left:30px;
  color:#333333;
  background:none;
  background-image:url("images/search_result.png");
  background-position:0 0;
  background-repeat:no-repeat;
  border:none;
  border-bottom:3px dotted #000000;
}
#content p.search_result{
  font-size:16px;
  margin-bottom:20px;
}
#content p.search_result_txt{
  font-size:14px;
  color:#dc143c;
  margin-bottom:20px;
}
/* ページャー エリア */
#content .pager{
  text-align:center;
}
#content .pager a,
#content .pager span{
  font-size:14px;
  padding:0 3px;
}
#content .pager span{
  color:#dc143c;
}
#content .pager a{
  color:#000000;
}
#content .pager a:hover{
  color:#dc143c;
}
/* 404 エリア */
#content a.reverse_lnk{
  font-size:16px;
  text-align:center;
  padding-top:10px;
  text-decoration:underline;
}
/*症例ページCSS*/
.cases-template-single-cases .ovh{
  overflow:hidden;
}
.cases-template-single-cases .ovh .img-right{
  float:right;
  text-align:center;
  width:34%;
}
.cases-template-single-cases .ovh .img-left{
  float:left;
  text-align:center;
  width:34%;
}
.cases-template-single-cases .ovh .text-right{
  float:right;
  width:62%;
}
.cases-template-single-cases .ovh .text-left{
  float:left;
  width:62%;
  
}

element.style{
    opacity:1;
    transform:translateY(0px);
}
@media (min-width:992px)
#header{
/* カテゴリ・アーカイブ・検索結果ページ エリア */
.post_inner{
  width:100%;
  height:auto;
  margin-bottom:30px;
  padding-bottom:15px;
  float:left;
  border-bottom:1px dotted #50361d;
}
.post_inner .thum{
  width:17.14285714%;
  height:auto;
  margin:0;
  padding:0;
  float:left;
}
.post_inner .show_post{
  width:80%;
  height:auto;
  margin:0;
  padding:0;
  float:right;
}
.post_inner .show_post li{
  width:100%;
  height:auto;
  margin-bottom:10px;
  padding:0;
  float:left;
}
.post_inner .show_post li.cat_mark_box p.cat_mark{
  width:auto;
  height:auto;
  line-height:1.0em;
  margin:0;
  padding:2px 5px;
  float:left;
  background-color:#6fb429;
}
.post_inner .show_post li.cat_mark_box p.cat_mark a{
  font-size:12px;
  color:#ffffff;
  text-decoration:none; 
}
.post_inner .show_post li.cat_mark_box p.cat_date{
  width:auto;
  height:auto;
  font-size:12px;
  line-height:1.4em;
  float:right;
}
.post_inner .show_post li.cat_title_box p.cat_title{
  font-weight:bold;
  line-height:1.2em;
}
.post_inner .show_post li.cat_title_box p.cat_title a{
  font-size:16px;
  color:#613811;
  text-decoration:none; 
}
.post_inner .show_post li.cat_text_box{
  margin:0;
}
.post_inner .show_post li.cat_text_box p.cat_text{
  line-height:1.3em;
}
.post_inner .show_post li.cat_text_box p.cat_text a{
  font-size:15px;
  color:#613811;
  text-decoration:none; 
}
.post_inner .show_post li.cat_title_box p.cat_title a:hover,
.post_inner .show_post li.cat_text_box p.cat_text a:hover{
  color:#dddddd;
}
.post_inner .show_post li.cat_mark_box p.cat_mark a:hover{
  color:#ff6600;
}
}
	
/* ===== Contact Form 7 カスタムスタイル ===== */
.wpcf7 {
  max-width: 680px;
  margin: 0 auto;
}

.form-row {
  display: flex;
  gap: 16px;
}

.form-row .form-group {
  flex: 1;
}

.form-group {
  margin-bottom: 24px;
}

.form-group label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 6px;
  color: #333;
}

.required {
  display: inline-block;
  background: #c0392b;
  color: #fff;
  font-size: 11px;
  font-weight: normal;
  padding: 2px 6px;
  border-radius: 3px;
}

.optional {
  display: inline-block;
  background: #888;
  color: #fff;
  font-size: 11px;
  font-weight: normal;
  padding: 2px 6px;
  border-radius: 3px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 15px;
  background: #fafafa;
  transition: border-color 0.2s;
  box-sizing: border-box;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 textarea:focus {
  outline: none;
  border-color: #c0392b;
  background: #fff;
}

.wpcf7 textarea {
  height: 160px;
  resize: vertical;
}

.form-privacy {
  background: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 16px 20px;
  margin-bottom: 28px;
  font-size: 13px;
  color: #555;
}

.form-privacy a {
  color: #c0392b;
  text-decoration: underline;
}

.form-privacy .wpcf7-acceptance {
  margin-top: 10px;
}

.wpcf7 input[type="submit"] {
  display: block;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  padding: 16px;
  background: #c0392b;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  letter-spacing: 0.05em;
  transition: background 0.2s;
  text-align: center;
}

.wpcf7 input[type="submit"]:hover {
  background: #a93226;
}

/* バリデーションエラー */
.wpcf7 .wpcf7-not-valid-tip {
  color: #c0392b;
  font-size: 12px;
  margin-top: 4px;
}

.wpcf7 .wpcf7-response-output {
  border-radius: 4px;
  font-size: 14px;
  padding: 12px 16px;
  margin-top: 20px;
}

