* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
a {
  text-decoration: none;
}
ul, ol {
  list-style: none;
}
html {
  font-family: verdana, sans-serif;
  font-size: 100%;
  line-height: 1.5;
}
button{
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
#wrapper {

}
#contents {
  padding: 5px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
@media (min-width: 768px) {
#contents {
  padding: 0px;
}}
.bold {
  font-weight: bold;
}
.mgn-b10 {
  margin-bottom: 10px;
}
.mgn-b40 {
  margin-bottom: 40px;
}
.mgn-r30 {
  margin-right: 30px;
}
.center {
  text-align: center;
}
.lr_center {
  display: flex;
  align-items: center;
  justify-content: center;
}
.all_center {
  position: relative;
  text-align: center;
  align-items: center;
  display: flex;
  justify-content: center;
} 
.float_r {
  float: right;
}
.clear {
  clear: both;
}

/* ### メンテナンス ### */
.maintenance {
  width: 50%;
}


/* ### ヘッダー ################################################## */
.header {
  width:100%;
  height:auto;
  padding-top:35%;
  position:relative;
  background-color: #E60012;
}
img.header_logo {
  width: 100%;
}
a.header_top_link {
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%, -50%);
}

/* ### フッター ################################################ */
.footer {
  padding: 30px 20px;
  background: #fff;
  text-align: center;
}
.footer_contents {
  padding: 0 0 20px 0;
  position: relative;
  align-items: center;
  display: flex;
  justify-content: center;
}
.footer_text {
  margin: 0 0 0 30px;
  font-size: 1rem;
}
img.footer_logo {
  width: 20%;
  float: left;
}
a.footer_contents_link {
  color: #bd1e21;
  font-size: 0.8rem;
  text-decoration: none;
  display: inline-block;
}
.copyright {
  margin: 30px 0;
  font-size: 0.8rem;
  color: #bd1e21;
  text-align: center;
}

/* ### メインコンテンツ ############################################ */
#main {
  max-width: 1000px;
  min-width: 320px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 40px 0;
}

section {
  padding: 20px 0;
  color: #000;
}

/* ### 会社案内 ###############################################  */
.company {
  width: 100%;
  margin: 0 auto;
  padding: 60px 0 0 0;
}
@media (min-width: 768px) {
.company {
  width: 900px;
  margin: 0 auto;
  padding: 60px 0 0 0;
}}
img.img_company {
  width: 53%;
  margin: 0 0 20px 0;
}
.company_text {
  margin: 20px 0 0 0;
  line-height: 2;
}
.company_text_box {
  padding: 20px 0;
  border-bottom: 1px solid #cccccc;
}
.company_text_left {
  width: 100px;
  float: left;
}
@media (min-width: 768px) {
.company_text_left {
  width: 200px;
  float: left;
}}
.company_text_right {
  float: left;
}

/* ### お問い合わせ ############################################  */
.contact {
  width: 100%;
  margin: 0 auto;
  padding: 60px 0 0 0;
}
@media (min-width: 768px) {
.contact {
  width: 900px;
  margin: 0 auto;
  padding: 60px 0 0 0;
}}
img.img_contact {
  width: 25%;
  margin: 0 0 20px 0;
}
.contact-ttl{
  color: #E60012;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
.contact-table {
  width: 100%;
  margin-bottom: 20px;
  border-spacing: 0px;
  border-collapse: collapse;
}
.contact-item {
  text-align: left;
  width: 25%;
  background-color: #eee;
  padding: 20px 15px;
  border: 1px solid #ccc;
}
.contact-body {
  width: 75%;
  padding: 20px;
  border: 1px solid #ccc;
}
.form-text {
  width: 100%;
  padding: 10px;
  border-radius: 5px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  max-width: 400px;
}
.form-textarea {
  width: 100%;
  padding: 10px;
  height: 200px;
  border-radius: 5px;
  border: 1px solid #ccc;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.contact-submit {
  width: 200px; 
  background-color: #E60012;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  margin: 0 auto;
  font-size: 1.5rem;
  padding: 15px;
  border-radius: 30px;
  border: 1px solid #E60012;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}
.contact-submit:hover {
  background-color: #ffffff;
  color: #E60012;
  border: 1px solid #E60012;
}

/* check */
button.contact_edit {
  width: 200px; 
  background-color: #999999;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  margin: 0 auto;
  font-size: 1.5rem;
  padding: 15px;
  border-radius: 30px;
  border: 1px solid #999999;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}
button.contact_edit:hover {
  background-color: #ffffff;
  color: #666666;
  border: 1px solid #666666;
}

/* fix */
.contact_fix_box {

}
.contact_fix_subttl {
  margin: 10px 0 20px 0;
  font-size: 1.3rem;
}
.contact_fix_text {
  font-size: 1.1rem;
  line-height: 2;
}

/* ### トップページ ############################################  */
.catch_main {
  margin: 10px 0 70px 0;
}

.br_734 {
  display: none;
}

.br_390 {
  display: none;
}

.img_p_center {
  text-align: center;
}

@media screen and (min-width: 1069px) {
img.top_img {
  margin: 30px 0 0 0;
  width: 200px;
}}
@media screen and (max-width: 1068px) {
img.top_img {
  margin: 30px 0 0 0;
  width: 180px;
}}
@media screen and (max-width: 734px) {
img.top_img {
  margin: 30px 0 0 0;
  width: 150px;
}}

@media screen and (min-width: 1069px) {
h1.h1_title {
  margin: 30px 0 20px 0;
  color: #3273BC;
  font-size: 3.34rem;
  font-weight: bold;
  text-align: center;
}}
@media screen and (max-width: 1068px) {
h1.h1_title {
  margin: 30px 0 20px 0;
  color: #3273BC;
  font-size: 2.3rem;
  font-weight: bold;
  text-align: center;
}}
@media screen and (max-width: 734px) {
h1.h1_title {
  margin: 30px 0 20px 0;
  color: #3273BC;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.br_734 {
  display: block;
}
.br_390 {
  display: block;
}}

@media screen and (min-width: 1069px) {
.h2_title {
  color: #333;
  font-size: 2rem;
  line-height: 1.8;
}}
@media screen and (max-width: 1068px) {
.h2_title {
  color: #333;
  font-size: 1.5rem;
  line-height: 1.6;
  text-align: center;
}}
@media screen and (max-width: 734px) {
.h2_title {
  color: #333;
  font-size: 1.3rem;
  line-height: 1.5;
  text-align: center;
}}

.title {
  margin: 0 0 10px 30px;
  color: #3273BC;
  font-size: 1.8rem;
  font-weight: bold;
}
@media screen and (max-width: 734px) {
.title {
  margin: 0 0 10px 0;
  color: #3273BC;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}}

.sub_title {
  margin: 0 0 10px 0;
  color: #000;
  font-size: 1.2rem;
  font-weight: bold;
}
.sub_title2 {
  margin: 0 0 10px 0;
  color: #000;
  font-size: 1.2rem;
  font-weight: bold;
}
.top_text {
  font-size: 0.9rem;
  line-height: 2;
}
a.top_buy_link {
  width: 40%;
  margin: 0 0 10px 0;
  padding: 10px;
  color: #bd1e21;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  border: 1px solid #bd1e21;
  border-radius: 5px;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
}
@media screen and (max-width: 734px) {
a.top_buy_link {
  width: 80%;
  margin: 0 0 10px 0;
  padding: 10px;
  color: #bd1e21;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  border: 1px solid #bd1e21;
  border-radius: 5px;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
}}
a.top_buy_link:hover {
  background-color: #fef9fb;
}

