/* clearfix */
.clearfix {
  *zoom: 1;
}
.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}

/*----------------------------------------------------
	 <= 1200px
----------------------------------------------------*/
@media (max-width: 1200px) {
	.container {
		padding-right: 2% !important;
		padding-left: 2% !important;
	}
	
	#point h2 .container {
		font-size: 38px;
	}
	#point h2 .container span {
		font-size: 60px;
	}
	
	#voice h2 .container {
		font-size: 38px;
	}
	#catch .container .n_btn{
		flex-wrap:wrap;
	}
	#catch .container .n_btn .each{
		width:100%;
		margin:10px 0;
	}
	#catch .container .n_btn .each a{
		font-size: 14px;
	}
		
	#otsunaka h2 .container {
		font-size: 38px;
	}
	#otsunaka h2 .container span {
		font-size: 60px;
	}
}
/*----------------------------------------------------
	 <= 1000px
----------------------------------------------------*/
@media (max-width: 1000px) {
  .tab_only,
  .tab_sp {
    display: block;
  }

  .pc_only {
    display: none;
  }

  #mainimg {
    padding: 50px 5% 100px 0;
  }

  #catch .container h3 {
    font-size: 22px;
  }

  #point h2 .container {
    font-size: 34px;
    padding-top: 10px;
  }
  #point h2 .container span {
    font-size: 54px;
  }
  #point .content .container ul li {
    width: 100%;
  }
  #point .content .container ul li:nth-child(1), #point .content .container ul li:nth-child(2), #point .content .container ul li:nth-child(3), #point .content .container ul li:nth-child(4), #point .content .container ul li:nth-child(5), #point .content .container ul li:nth-child(6), #point .content .container ul li:nth-child(7), #point .content .container ul li:nth-child(8) {
    margin-left: 0;
  }

  #voice h2 .container {
    font-size: 34px;
  }
  
  #otsunaka h2 .container {
    font-size: 34px;
    padding-top: 10px;
  }
  #otsunaka h2 .container span {
    font-size: 54px;
  }
  #otsunaka .content .container ul li {
    width: 100%;
  }
  #otsunaka .content .container ul li:nth-child(1), #otsunaka .content .container ul li:nth-child(2), #otsunaka .content .container ul li:nth-child(3), #otsunaka .content .container ul li:nth-child(4), #otsunaka .content .container ul li:nth-child(5), #otsunaka .content .container ul li:nth-child(6), #otsunaka .content .container ul li:nth-child(7), #otsunaka .content .container ul li:nth-child(8) {
    margin-left: 0;
  }
}
/*----------------------------------------------------
	phone - tablet <= 767px
----------------------------------------------------*/
@media (max-width: 767px) {
  a.button.button_l {
    font-size: 18px;
    min-width: 50%;
    padding: 18px 3em;
    border-bottom: 4px solid #e48105;
  }
  a.button.button_l span {
    position: absolute;
    right: 1.2em;
    top: 18px;
  }
  a.button.button_l:hover {
    background: #e48105;
  }

  h3.obi_grade {
    font-size: 20px;
  }

  header .obi {
    font-size: 10px;
  }
  header .content .flex .logo {
    width: 100%;
    max-width: 100%;
    text-align: center;
    padding-bottom: 10px;
  }
  header .content .flex .contact {
    max-width: 100%;
    margin: 0 auto;
  }

  #mainimg {
    padding: 40px 10% 80px 0;
  }

  #answer h2 {
    margin-bottom: 30px;
  }
  #answer h3 span {
    font-size: 20px;
  }
  #answer .flex {
    flex-wrap: wrap;
  }
  #answer .flex .pic {
    text-align: center;
    width: 100%;
    margin-bottom: 10px;
  }
  #answer .flex .txt {
    width: 100%;
  }
  #answer .flex .txt h4 {
    font-size: 18px;
    margin-bottom: 20px;
  }
  #answer .flex .txt p {
    font-size: 14px;
  }

  #point h2 .container {
    font-size: 28px;
    letter-spacing: -0.1em;
  }
  #point h2 .container span {
    font-size: 40px;
  }
  #point .content .container ul {
    padding: 0 4%;
  }
  #point .content .container ul li .box {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #point .content .container ul li .box .pic {
    width: 100%;
    height: 0;
    margin: 0 auto;
    padding-top: 60%;
  }
  #point .content .container ul li .box .txt {
    width: 100%;
  }
  #point .content .container ul li .box .txt h3 {
    font-size: 22px;
  }
  #point .content .container ul li .box .txt .ico {
    width: 20%;
  }
  #point .content .container ul li .box .txt .desc {
    font-size: 12px;
  }
  #point .content .container ul li:nth-child(even) .box .txt {
    order: 0;
  }

  #great_luck .flex .txt {
    width: 100%;
  }
  #great_luck .flex .pic {
    width: 100%;
    text-align: center;
  }

  #schedule {
    padding-top: 80px;
    padding-bottom: 70px;
  }
  #schedule h2 {
    font-size: 28px;
  }
  #schedule .desc {
    font-size: 14px;
  }
  #schedule .flex li {
    width: 48%;
  }
  #schedule .flex li a {
    font-size: 16px;
    padding: 20px 1em;
  }
  #schedule .flex li a i {
    position: absolute;
    left: .5em;
    top: 22px;
    font-size: 20px;
  }

  #size_list h2 {
    font-size: 28px;
  }
  #size_list .desc {
    font-size: 14px;
  }
  #size_list .con_list li {
    margin-bottom: 1em;
  }
  #size_list .con_list li h4 {
    border-bottom: none;
  }
  #size_list .con_list li h4 span {
    display: block;
  }
  #size_list .con_list li h4 span.box {
    font-size: 17px;
    padding: 6px 1em;
    margin-bottom: 4px;
  }
  #size_list .con_list li h4 span.caution {
    font-size: 11px;
    text-align: right;
  }
  #size_list .size_t {
    font-size: 12px;
  }
  #size_list .size_t tr th {
    padding: 8px 0.5em;
  }
  #size_list .size_t tr td {
    padding: 8px 0.5em;
  }
  #size_list .size_t tr td small {
    padding-left: 0;
    text-indent: 0;
  }

  #toriatsukai .flex li {
    width: 48%;
  }
  #toriatsukai .flex li .tit {
    font-size: 16px;
  }
  #toriatsukai .desc {
    font-size: 16px;
  }
  #toriatsukai .blue {
    font-size: 20px;
  }

  #price .container h3 {
    font-size: 28px;
  }
  #price .container .desc {
    font-size: 14px;
  }
  #price .container .price_content .price_t {
    font-size: 12px;
  }
  #price .container .price_content .price_t tr th {
    padding: 8px 0.5em;
  }
  #price .container .price_content .price_t tr td {
    padding: 8px 0.5em;
  }

  #voice h2 .container {
    font-size: 28px;
  }
  #voice .content .voices li .txt h3 {
    font-size: 20px;
  }

  #jisseki .jisseki_list h3 {
    font-size: 16px;
  }
  #jisseki .jisseki_list .flex {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #jisseki .jisseki_list .flex div {
    width: 100%;
    text-align: center;
  }
  #jisseki .jisseki_list .flex div:first-child {
    margin-bottom: 20px;
  }
  #jisseki .jisseki_list dl dt {
    font-size: 16px;
  }

  #contact_form {
    padding: 40px 0;
  }
  #contact_form .container h2 {
    font-size: 30px;
  }
  #contact_form .container .desc {
    font-size: 14px;
  }
  #contact_form .container .desc span {
    font-size: 17px;
  }
  #contact_form .container h3 {
    text-align: center;
    font-size: 16px;
  }
  #contact_form .container .form_table {
    font-size: 12px;
  }
  #contact_form .container .form_table tr th {
    display: block;
    width: 100%;
    padding: 6px 20px;
  }
  #contact_form .container .form_table tr th span {
    top: 8px;
  }
  #contact_form .container .form_table tr td {
    display: block;
    width: 100%;
    padding: 14px 20px 20px;
  }
  #contact_form .container .submit_btn input[type="submit"] {
    padding: 10px 1em;
    color: #fff;
    font-size: 18px;
  }

  #outline .container table tr td {
    font-size: 13px;
    padding: 10px .5em;
  }

  footer .content {
    text-align: center;
  }
  footer .content .logo img {
    width: 90%;
  }
  
  #otsunaka h2 .container {
    font-size: 28px;
    letter-spacing: -0.1em;
  }
  #otsunaka h2 .container span {
    font-size: 40px;
  }
  #otsunaka .content .container ul {
    padding: 0 4%;
  }
  #otsunaka .content .container ul li .box {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #otsunaka .content .container ul li .box .pic {
    width: 100%;
    height: 0;
    margin: 0 auto;
    padding-top: 60%;
  }
  #otsunaka .content .container ul li .box .txt {
    width: 100%;
  }
  #otsunaka .content .container ul li .box .txt h3 {
    font-size: 22px;
  }
  #otsunaka .content .container ul li .box .txt .ico {
    width: 20%;
  }
  #otsunaka .content .container ul li .box .txt .desc {
    font-size: 12px;
  }
  #otsunaka .content .container ul li:nth-child(even) .box .txt {
    order: 0;
  }
	#download .d_each{
		width:100%;
	}
	#download .d_each img{
		width:100%;
	}
}
/*----------------------------------------------------
	phone <= 480px
----------------------------------------------------*/
@media (max-width: 480px) {
  .sp_only {
    display: block;
  }

  .pc_tab,
  .tab_only {
    display: none;
  }

  h3.obi_grade {
    font-size: 18px;
  }

  #catch .container h3 {
    font-size: 20px;
    margin-bottom: 16px;
  }
  #catch .container .desc {
    font-size: 12px;
  }

  #points .content .container ul li {
    padding: 20px 1.5em 22px 1.5em;
  }
  #points .content .container ul li .inner .pic {
    width: 100%;
    float: none;
    text-align: center;
    margin-bottom: 10px;
  }
  #points .content .container ul li .inner .pic img {
    width: 100%;
  }
  #points .content .container ul li .inner .txt {
    width: 100%;
    float: none;
  }
  #points .content .container ul li .inner .txt h3 {
    margin-bottom: 6px;
  }

  #schedule .desc {
    font-size: 11px;
  }
  #schedule .flex li {
    width: 96%;
    margin-bottom: 8px;
  }
  #schedule .flex li a {
    font-size: 16px;
    padding: 20px 1em;
  }
  #schedule .flex li a i {
    position: absolute;
    left: .5em;
    top: 22px;
    font-size: 20px;
  }

  #size_list .desc {
    font-size: 11px;
  }
  #size_list .size_t {
    font-size: 10px;
  }
  #size_list .size_t tr th {
    padding: 8px 0.5em;
  }
  #size_list .size_t tr td {
    padding: 8px 0.5em;
  }

  #toriatsukai {
    padding: 60px 0 10px;
  }
  #toriatsukai .flex li {
    margin-bottom: 30px;
  }
  #toriatsukai .flex li .pic {
    margin-bottom: 6px;
  }
  #toriatsukai .flex li .tit {
    font-size: 15px;
  }
  #toriatsukai .desc {
    font-size: 15px;
  }
  #toriatsukai .blue {
    font-size: 18px;
  }

  #price {
    padding: 40px 0 20px;
  }
  #price .container .desc {
    font-size: 11px;
  }

  #voice .content .voices li .pic {
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
  }
  #voice .content .voices li .pic .info {
    font-size: 11px;
  }
  #voice .content .voices li .txt {
    width: 100%;
  }
  #voice .content .voices li .txt h3 {
    font-size: 18px;
  }

  #jisseki .jisseki_list dl dt {
    font-size: 14px;
    margin-bottom: 4px;
  }
  #jisseki .jisseki_list dl dd {
    font-size: 11px;
    margin-bottom: 14px;
  }

  #contact_form .container h2 {
    font-size: 28px;
  }
  #contact_form .container .desc {
    font-size: 13px;
  }
  #contact_form .container .desc span {
    font-size: 15px;
  }
}
