@charset "utf-8";

html {
  font-size: 62.5%;
}

body {
  background-color: #606068;
  font-family: "メイリオ",
    Meiryo,
    "ＭＳ Ｐゴシック",
    "MS PGothic",
    "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro",
    Osaka,
    sans-serif;
}

header h1,
header nav a,
footer h2 {
  font-family: 'Noto Serif JP', serif;
}

h2,
h3,
.global,
th,
dt {
  font-family: 'Noto Sans JP', sans-serif;
}

/*--------------------------------
（index.html）
--------------------------------*/

/* div.wrapper */
.wrapper {
  background-color: #fff;
  width: 100%;
  margin: 0 auto;
}

/* header */
header {
  padding: 15px 30px;
  display: flex;
  justify-content: space-between;
  box-shadow: 0 0 1px 0 #424041;
}

header h1 {

  width: 250px;
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 24px;
  background-image: url(../images/a.png.jpg);
  background-size: 40px 40px;
  background-repeat: no-repeat;
  background-position: 0 3px;
  padding-left: 47px;
  padding-top: 5px;
}

header h1 a {
  color: rgb(42, 42, 44);
  text-decoration: none;
}

/* nav.gloal */
.global {
  width: 690px;
  line-height: 26px;
  margin-top: 28px;
  padding-right: 12px;
}

.global ul {
  display: flex;
  justify-content: flex-end;
}

.global ul li {
  white-space: nowrap;
}

.global ul li a {
  font-size: 25px;
  font-weight: 590;
  text-decoration: none;
  margin: 0 27px;
  padding: 0 2px;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: 2px;
  color: #404040;
  display: inline-block; /* これがないとリンク範囲が全幅になる */
  position: relative; 
}

.global ul li a::after {
  position: absolute;
  left: 0; 
  background-color: #b1afab; /* 下線の色 */
  bottom: -12px; /* 要素の下端からの距離 */
  content: ""; /* 要素に内容を追加 */
  height: 2px;
  transform: scale(0, 1); /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
  transform-origin: left top; /* 変形の原点を右上に指定 */
  transition: transform .2s; 
  width: 100%; /* 要素の幅 */
}

.global ul li a:hover::after {
  color: #b1afab;
  transform: scale(1, 1); /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */}

/* .visual_img */
.visual_img {
  width: 100%;
  height: 700px;
  background-image: url(../images/main.jpg);
  background-position: 0 -350px;
  background-size: cover;
  padding-top: 150px;
  padding-left: 150px;
  box-sizing: border-box;
  background-repeat: no-repeat;
}

.visual_img p {
  font-family: "Noto Serif JP", serif;
  color: #fff;
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 1.6;
  text-shadow: 1px 1px 2px #c7c0c0;
}






--------------------------------------- */
dl.info {
  font-size: 1.6rem;
  border: 1px solid #030;
  padding: 10px 20px;
  margin-left: 50px;
  height: 100px;
  overflow: auto;
}

.info div {
  display: flex;
  justify-content: flex-start;
  line-height: 24px;
  padding: 10px 0;
  /* p10-0 */
  margin-bottom: 5px;
  border-bottom: 2px dotted #ccc;
}

.info dt {
  width: 9em;
}

.info dd {
  width: calc(100% - 9em);
  text-align: justify;
}

/* footer */
footer {
  background-color: #030;
  color: #fff;
  padding: 20px 40px;
}

footer div.h0 a {
  text-decoration: none;
  font-size: 1.5rem;
  text-align: center;
  color: #fff;
  font-size: 2.0rem;
  font-weight: 10px;
}

footer div.h1 {
  border: #f00;
  text-decoration: none;
  background-color: #fff;
  margin-bottom: 20px;
  margin-left: 200px;
  margin-right: 200px;
  padding: 3px;
  border-radius: 20px;
  font-size: 1.5rem;
  text-align: center;
}

footer div.h1 a {
  text-decoration: none;
  color: rgb(189, 189, 189);
}

footer .content {
  margin: 0;
}

footer h2 {
  width: 250px;
  font-size: 2.0rem;
  font-weight: 900;
  line-height: 43px;
  background-image: url(../images/a.png.jpg);
  background-size: 40px 40px;
  background-repeat: no-repeat;
  background-position: 0 3px;
  padding-left: 45px;
}

.local {
  margin-top: 5px;
}

.local ul li {
  display: inline-block;
}

.local ul li a {
  margin-left: 30px;
  color: #fff;
  font-size: 1.6rem;
  text-decoration: none;
}

hr {
  height: 1px;
  background-color: #fff;
  border: 0;
  margin-top: 20px;
}

small {
  /* background-color: lightpink; */
  display: block;
  text-align: center;
  line-height: 40px;
  font-size: 1.6rem;
}



/* ページトップへ
------------------------------- */
.pagetop {
  text-align: right;
}

.pagetop a {
  color: #00f;
  text-decoration: none;
}

.pagetop a:hover {
  color: #f00;
  /* border-bottom: 1px solid #f00; */
}

/*--------------------------------
お問い合わせ（contact.html）
--------------------------------*/
/* .contact .visual_img {
  background-image: url(../images/visual_img_05.png);
  height: 160px;
} */
table {
  width: calc(100% - 50px);
  margin-left: 50px;
  /* border: 1px solid #030; */
}

table th {
  width: 160px;
  font-size: 1.6rem;
  background-color: #e8e8e8;
  color: #000;
  text-align: right;
  padding: 10px 20px;
  border-bottom: 1px solid #fff;
}

table td {
  font-size: 1.6rem;
  padding: 10px 20px;
  background-color: #f3f1f1;
  /* border: 1px solid #030; */
}

table tr:last-child td {
  text-align: center;
  background-color: #fff;
}

/* form 
---------------------------------------*/
input {
  font-size: 1.6rem;
  padding: 5px;
}

td label {
  margin-right: 20px;
}

input[type="text"],
input[type="mail"] {
  width: 70%;
}

input#mail {
  margin-bottom: 10px;
}

select {
  font-size: 1.6rem;
  padding: 5px;
}

textarea {
  font-size: 1.6rem;
  width: 90%;
  padding: 5px;
  box-sizing: border-box;
  resize: none;
  vertical-align: bottom;
}

.send input {
  width: 200px;
}

main.saport ul li {
  font-size: 20px;
  font-weight: 30px;
  text-decoration: none;
  color: rgb(1, 1, 21);
  padding: auto;
  text-align: center;
  margin: auto;
  line-height: 100px;
}



div.content main section {
  margin: 40px;
  display: flex;
  justify-content: space-between;
}