@charset "utf-8";
/*
Theme Name: drs
Theme URI: https://drsinc.jp/
Version: 1.0
Author: tkym
Author URI: https://drsinc.jp/
*/

html{
  font-size: 62.5%
}

body{
  background: #f8f8f8;
  font-family: "游ゴシック", "Yu Gothic", YuGothic,"Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin: 0;
}

body > section:nth-of-type(odd) {
  background: #fff;
}

.section-title {
  font-weight: normal;
  text-align: center;
  text-decoration: underline;
  margin: 60px 0;
}

p{
  font-size: 1.6rem;
  margin: 0;
}

.color-orange{
	color: #ffa100;
	font-weight: bold;
}

.container{
  width: 90%;
  margin: 0 auto;
}

.about{
	margin-bottom: 60px;
}
table{
	border-collapse: collapse;
	margin: 0 auto;
	width: 100%;
}

table td{
	border: 1px solid #ffa100;
	font-size: 1.5rem;
	padding: 10px;
}

.message{
	margin-bottom: 60px;
}

/* header */

header{
  background: #ffa100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
	z-index: 1;
}

header h1{
  color: #fff;
  font-size: 2rem;
	float:left;
}

/* menu */
#menu {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, .9);
  color: #fff;
  display: none;
}

#menu.shown {
  display: block;
}

#menu ul {
  background: #ffa100;
  list-style: none;
  margin: 0;
  padding: 10px 20px;
}

#menu li {
  line-height: 2;
  padding: 10px;
}

#menu a {
  text-decoration: none;
  color: inherit;
}

#open_menu {
  float: right;
  font-size: 3rem;
  cursor: pointer;
	padding: 15px 0;
}

#close_menu {
  padding: 15px;
  float: right;
  cursor: pointer;
}
/* menu */

top img{
  height: 450px;
/*   margin-top: 56px; */
  width: 100%;
}

.feature img {
  height: 200px;
  width: 100%;
}

.feature img:hover{
  opacity: 0.5;
}

.feature p{
  background: #fff;
  margin-bottom: 10px;
  padding: 10px 0;
}

.feature:last-child{
  margin-bottom: 60px;
}

/* footer */
footer{
  background: #ffa100;
  color: #fff;
  height: 50px;
  /* padding:  */
  text-align: center;
  width: 100%;
}

.line-1{/*対象のテキスト*/
    position: relative;
	    background-color: #fff;
    top: -7em;  
    width: 24em;
    margin: 0 auto;
    border-right: 2px solid rgba(255,255,255,.75);
    font-size: 160%;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    transform: translateY(-50%);    
}
 
 
.anim-typewriter{/*アニメーションセッティング*/
  animation: typewriter 2s steps(44) 1s 1 normal both,
 blinkTextCursor 500ms steps(44) infinite normal;
}
@keyframes typewriter{/*タイプライターライクなアニメーション*/
  from{width: 0;}
  to{width: 14em;}
}
@keyframes blinkTextCursor{/*点滅するカーソルのアニメーション*/
  from{border-right-color: rgba(255,255,255,.75);}
  to{border-right-color: transparent;}
}

/*コンタクトフォーム*/

/* 必須マーク */
.must{
	color: #fff;
	margin-right: 10px;
	padding: 6px 10px;
	background: #F92931;
	border-radius: 20px;
}

/* 任意マーク */
.free {
	color: #fff;
	margin-right: 10px;
	padding: 6px 10px;
	background: #424242;
	border-radius: 20px;
}

/* 項目名を太字にする */
form p {
	font-weight: 600;
}

/* 入力項目を見やすくする */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 80%;
	padding: 8px 15px;
	margin:10px 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 必須項目の入力欄を黄色にする */
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
	background: rgba(255, 255, 142, 0.46);
}

/* 送信ボタンを見やすくする */
input.wpcf7-submit {
	border-radius: 50px;
	width: 95%;
	height: 50px;
	background: #000;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	margin-bottom:30px;
}

/* エラーメッセージを見やすくする */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}

/*END コンタクトフォーム*/

/* medium screens */

@media (min-width: 570px) {
  top img{
    height: 600px;
    width: 100%
  }

  .feature img {
    height: 270px;
    width: 50%;
  }

  .feature p {
    background: #f8f8f8;
    width: 45%;
  }

  .feature:nth-of-type(odd) p {
    float: right;
    padding-left: 5%;
  }

  .feature:nth-of-type(even) p {
    float: left;
    padding-right: 5%;
  }

  .feature {
    overflow: hidden;
  }
	.line-1{/*対象のテキスト*/
    position: relative;
		background-color: #fff;
    top: -9em;  
    width: 24em;
    margin: 0 auto;
    border-right: 2px solid rgba(255,255,255,.75);
    font-size: 220%;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    transform: translateY(-50%);    
}
}

  /* large screens */

@media (min-width: 912px) {
  .container {
    width: 900px;
  }

  top img{
    height: 600px;
    width: 100%;
  }

  #open_menu {
    display: none;
  }

  #close_menu {
    display: none;
  }

  #menu {
    display: block;
    position: static;
    background: transparent;
    color: #333;
  }

  #menu ul {
    padding: 5px;
    float: right;
  }

  #menu li {
    display: inline-block;
    width: 110px;
    text-align: center;
  }
	
	#menu li a:hover{
		color: #fff;
    text-decoration: none;
}
li a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
li a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
	
	/* 必須マーク */	
.must{
	color: #fff;
	margin-right: 10px;
	padding: 6px 10px;
	background: #F92931;
	border-radius: 20px;
}

/* 任意マーク */
.free {
	color: #fff;
	margin-right: 10px;
	padding: 6px 10px;
	background: #424242;
	border-radius: 20px;
}

/* 項目名を太字にする */
form p {
	font-weight: 600;
}


/* 入力項目を見やすくする */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin:10px 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 必須項目の入力欄を黄色にする */
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
	background: rgba(255, 255, 142, 0.46);
}

/* 送信ボタンを見やすくする */
input.wpcf7-submit {
	border-radius: 50px;
	width: 100%;
	height: 80px;
	background: #27c038;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
}

/* エラーメッセージを見やすくする */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}
}


